CentOS7 zabbix4.0搭建配置

寵の児 提交于 2020-02-01 17:39:36
一.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 -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
  1. #–zone #作用域
  2. #–add-port=80/tcp #添加端口,格式为:端口/通讯协议
  3. #–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
监控其他服务器
#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页)
                                https://zabbix.org/wiki/Docs/howto/mysql_partition
 
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页面
                     http://blog.csdn.net/hao134838    *
                     http://blog.csdn.net/qq_25551295/article/details/51803942
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!