一.Zabbix-Server服务器端的安装
概述:10050是Agent的端口,Agent采用被动方式,Server主动连接Agent的10050端口;10051是Server的端口,Agent采用主动或Trapper方式,会连接Server的10051端口。
前提条件:永久关闭SELinux和时间同步
#vim /etc/selinux/config
SELINUX=disabled
或者#setenforce 0
#yum -y install ntp
#systemctl enable ntpd
#systemctl start ntpd
1.访问Zabbix的软件仓库网站http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/ 将zabbix-release-4.0-1.el7.noarch.rpm下载的本地,然后在服务器上安装。
#rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
#rpm -qa | grep zabbix-release
#cd /etc/yum.repos.d/
2.安装Zabbix-Server服务器端,由于服务器端也是需要监控的,故这里也一并安装了Zabbix-Agent(4.0版本的安装命令)。
#yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
3.安装数据库
在CentOS7系统包仓库安装源中,需要安装mariadb-server,而不是MySQL数据库服务(7.0以后的版本用MariaDB替换了MySQL)。
#yum -y install mariadb-server mariadb-devel
修改MySQL配置文件
#vim /etc/my.cnf
character-set-server=utf8
innodb_file_per_table=1
#注意:以上mysql配置参数仅满足小规模监控环境使用,如果监控环境为中型规模(如1000台设备以上),则需要调整更多的mysql配置参数,可以参考https://github.com/zabbix-book/MySQL_conf中提供的参数。
启动服务:
#systemctl start mariadb
设置开机自启动:
#systemctl enable mariadb
#ps aux|grep mysql
#netstat -ntulp | grep 3306
4.创建Zaabix数据库
首先设置mysql 的 root 用户密码,然后创建zabbix数据库。
#mysqladmin -uroot password admin
#mysql -uroot -padmin
create database zabbix character set utf8;
grant all privileges on zabbix.* to 'zabbix'@'192.168.203.136' identified by 'zabbix';
flush privileges;
注意:如果创建zabbix数据库的字符集部位UTF-8,则可能会导致web界面切换到中文语言时出现乱码。
5.倒入zabbix库的数据文件
#cd /usr/share/doc/zabbix-server-mysql-4.0.13/
#gunzip create.sql.gz
#mysql -uzabbix -pzabbix -h192.168.203.136
mysql>use zabbix
mysql>source /usr/share/doc/zabbix-server-mysql-4.0.13/create.sql;
6.配置zabbix_server.conf
#vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.203.136
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
StartPollers=100
StartIPMIPollers=10
StartPollersUnreachable=10
StartTrappers=10
StartPingers=10
StartDiscoverers=10
CacheSize=256M
HistoryCacheSize=128M
TrendCacheSize=128M
ValueCacheSize=2048M
Timeout=30
TrapperTimeout=300
7.开启Zabbix-Server服务
# systemctl start zabbix-server
# systemctl enable zabbix-server
# ps aux|grep zabbix
# tail -f /ver/log/zabbix/zabbix_server.log
# systemctl start httpd
# systemctl enable httpd
注意:在安装zabbix server的时候默认就安装了apache,zabbix依靠apache提供的web服务,修改Zabbix的浏览器访问端口,就是修改apache的服务端口(默认端口:80),修改默认端口#vim /etc/httpd/conf/httpd.conf 8888
# systemctl restart httpd
8.防火墙设置
# firewall-cmd --zone=public --add-port=8888/tcp --permanent
# firewall-cmd --zone=public --add-port=10050/tcp --permanent
# firewall-cmd --zone=public --add-port=10051/tcp --permanent
#systemctl restart firewalld.service
- #–zone #作用域
- #–add-port=80/tcp #添加端口,格式为:端口/通讯协议
- #–permanent 永久生效,没有此参数重启后失效
9.php.ini文件配置
#vim /etc/php.ini
去掉date.timezone的注释,将时区改为Asia/Shanghai
或者:#vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
#systemctl restart httpd
#systemctl restart zabbix-server
10.配置Zabbix-Web:打开浏览器,输入http://192.168.203.135:8888/zabbix 出现下图
单机“Next.step”按钮,如下图,如果提示参数不通过,则修改php.ini配置文件,并重启Web(httpd)服务
配置数据库连接的各项参数
Zabbix-Server的连接地址,端口,名称设置将会显示在zabbix的前端页面
注意:如果zabbix-server在其他机器上,那么这里的Host要填写Zabbix-Server所在机器的IP地址,必须保证从Zabbix前端PHP所在的这台服务器能连接到Server服务器端口10051
这些配置信息将会被写入/${PATH}/zabbix/conf/zabbix.conf.php文件中
配置文件生成成功:Finish
如图所示,登陆页面,默认账户时Admin,密码是zabbix
登录成功后的页面
注意:
注意:访问zabbix登录页面时出现白屏情况,请重启httpd
# systemctl restart httpd
# systemctl enabtle httpd
11.Zabbix-Agent客户端zabbix_agentd.conf文件的配置(Zabbix-Server服务端自己本生要安装Zabbix-Agent客户端,因为服务端本生也需要监控。如果监控其他服务器,就只在其他服务器单独安装Zabbix-Agent客户端就可以了)
之前已经安装过Zabbix-Agent了,这里直接启动就行了:
#vim zabbix_agentd.conf
Server=192.168.203.136 主服务器IP
ServerActive=192.168.203.136 主服务器IP
#systemctl start zabbix-agent
#systemctl enable zabbix-agent
# tail -f /ver/log/zabbix/zabbix_agentd.log
监控其他服务器
#rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
#yum install -y zabbix-agent
#vim zabbix_agentd.conf
Server=192.168.203.136 主服务器IP
ServerActive=192.168.203.136 主服务器IP
#systemctl start zabbix-agent
#systemctl enable zabbix-agent
12.Zabbix-Server对数据的存储和对超过储存期限数据的删除策略
# mysql -uzabbix -pzabbix -h192.168.247.129
MariaDB [(none)]> select table_name,(data_length+index_length)/1024/1024 as total_mb,table_rows from information_schema.tables where table_schema='zabbix'
MySQL表分区及过期数据的删除(具体操作及脚本代码请阅读《Zabbix企业级分布式监控系统 第2版》的60——69页)
13.zabbix通信安全:
14.Zabiix数据库备份:(具体操作及脚本代码请阅读《Zabbix企业级分布式监控系统 第2版》的70——72页)
二、邮件报警mailx配置
1、安装mailx
这里我选择的是mailx,所以的关闭其他的邮件发送工具
执行安装mailx的命令:yum install mailx
2、配置mailx
打开文件vim /etc/mail.rc 如果mail.rc文件没有,就手动创建 内容如下:
set sendcharsets=iso-8859-1,utf-8
set from=*********@163.com
set smtp=smtp.163.com:25
set smtp-auth-user=*******@163.com
set smtp-auth-password=**************** #注意是授权码,不是密码
set smtp-auth=login
3、测试邮件是否可以发出
echo"zabbix test mail" |mail -v -s "zabbix" **********@163.com
4、编写发送邮件脚本
进入下面路径:/usr/lib/zabbix/alertscripts 创建sendmail.sh文件,内容如下
echo "$3" | mail -s "$2" "$1"
上面的这个三个参数是接收从web页面中传递过来的,$1:收件人邮箱地址;$2:邮件标题;$3:邮件内容
为什么我们会在这个路径下面创建这个脚本呢,这是在我们的zabbix_agentd.conf文件中配置的
AlertScriptsPath=/usr/lib/zabbix/alertscripts
所以你不想将这个脚本放在这个目录下面,需要修改服务端的配置文件中的AlertScriptsPath的值
5、配置web页面
来源:https://www.cnblogs.com/yanxiangjun/p/12248791.html