安装zabbix源:
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
yum install -y epel-release
安装组件:
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
yum -y install gcc gcc-c++ ncurses bison libgcrypt perl cmake ncurses-devel
yum -y install mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
wget http://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1%2Bxenial_all.deb
dpkg -i zabbix-release_4.2-1+xenial_all.deb
apt-get update
apt-get install -y libcurl3
apt-get install zabbix-agent
systemctl start zabbix-agent
MySQL设置:
mysqladmin -uroot password '123456'
UPDATE mysql.user SET password=PASSWORd("newpwd") WHERe user='username';
[root@iZ2ze98jigq7l0xbcgt22eZ ~]# mysql -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'Btpdi12345';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%' identified by 'Btpdi12345';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
导入数据库:
zcat /usr/share/doc/zabbix-server-mysql-4.2.8/create.sql.gz |mysql -uroot -pBtpdi12345 --database zabbix
修改时区:
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
修改配置文件:
cd /etc/zabbix
cp zabbix_agentd.conf zabbix_agentd.conf.back
cp zabbix_server.conf zabbix_server.conf.back
vim /etc/zabbix/zabbix_server.conf
#egrep -Ev '^#|^$' /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=Btpdi12345
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=30
alertscriptsPath=/usr/lib/zabbix/alertscripts
Externalscripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
vim /etc/zabbix/zabbix_agentd.conf
#egrep -Ev '^#|^$' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=101.201.56.242
ServerActive=101.201.56.242
BufferSend=20
BufferSize=200
MaxLinesPerSecond=100
Timeout=30
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d
服务启停:
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
浏览器安装:
默认用户名:Admin,密码:zabbix
设置启动和开机项:
ansible all -m shell -a 'systemctl stop zabbix-agent.service'
ansible all -m shell -a 'systemctl start zabbix-agent.service'
ansible all -m shell -a 'systemctl enable zabbix-agent.service'
ansible all -m shell -a 'systemctl status zabbix-agent.service'
客户端agent统一升级:
ansible all -m shell -a 'rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm'
ansible all -m shell -a 'yum -y install zabbix-sender zabbix-agent zabbix-get'
客户端统一更新配置文件:
ansible all -m copy -a 'src=/root/zabbix_agentd.conf dest=/etc/zabbix/'
ansible all -m copy -a 'src=/etc/zabbix/script/check_port.py dest=/etc/zabbix/script/'
报警动作参数:
首先报警媒介类型中的脚本参数,权限需所有读写
{alert.SENDTO}
{alert.SUBJECT}
{alert.MESSAGE}
然后是动作中的操作模板,操作细节都需要选择用户
标题:故障{TRIGGER.STATUS}, 服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障
操作:
{TRIGGER.STATUS},{HOSTNAME1}: {TRIGGER.NAME}
告警主机:{HOSTNAME1}
告警等级: {TRIGGER.SEVERITY}
问题详情: {ITEM.NAME}: {ITEM.VALUE}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复操作:
{TRIGGER.STATUS},{HOSTNAME1}: {TRIGGER.NAME}
告警主机:{HOSTNAME1}
恢复状态: {TRIGGER.STATUS}
恢复时间:{EVENT.DATE} {EVENT.TIME}
CPU触发器:
1)Processor load is too high on {HOST.NAME} {HOST.NAME}上处理器负载太高
触发器表达式:{Zabbix server:system.cpu.load[percpu,avg1].avg(5m)}>5
告警等级:警告
2)Disk I/O is overloaded on {HOST.NAME} 磁盘I/O在{HOST.NAME}上重载
触发器表达式:{Zabbix server:system.cpu.util[,iowait].avg(1h)}>30
告警等级:警告
3){HOST.NAME} [CPU Idle]-[< 10%] CPU空闲小于百分之10
触发器表达式:{Zabbix server:system.cpu.util[,idle].count(#5,10,"lt")}=5
告警等级:一般严重
General触发器:
1)Hostname was changed on {HOST.NAME} 主机名被更改
触发器表达式:{Zabbix server:system.hostname.diff(0)}>0
告警等级:信息
2)Host information was changed on {HOST.NAME} 主机信息给更改
触发器表达式:{Zabbix server:system.uname.diff(0)}>0
告警等级:信息
3)HOST.NAME} has just been restarted 重新启动主机
触发器表达式:{Zabbix server:system.uptime.change(0)}<0
告警等级:信息
Keepalived触发器
1){HOST.NAME}keepalived进程宕机,请运维人员确认
触发器表达式:({TRIGGER.VALUE}=0 and {Zabbix server:proc.num[keepalived,,,keepalived].change(0)}<0 and {Zabbix server:proc.num[keepalived,,,keepalived].last(0)}=0) or ({TRIGGER.VALUE}=1 and {Zabbix server:proc.num[keepalived,,,keepalived].last(0)}<>3)
告警等级:严重
Memory触发器
1)Lack of free swap space on {HOST.NAME} 主机上缺少自由交换空间
触发器表达式:{Zabbix server:system.swap.size[,pfree].last(0)}<10
告警等级:警告
2)Lack of available memory on server {HOST.NAME} 主机服务器上缺少可用的内存
触发器表达式:{Zabbix server:vm.memory.size[available].last(0)}<20M
告警等级:一般严重
Security触发器
1)/etc/passwd has been changed on {HOST.NAME} 主机密码文件被更改
触发器表达式:{Zabbix server:vfs.file.cksum[/etc/passwd].diff(0)}>0
告警等级:警告
Processes触发器
1)Too many processes running on {HOST.NAME} 在主机上运行的进程太多
触发器表达式:{Zabbix server:proc.num[,,run].avg(5m)}>30
告警等级:警告
2)Too many processes on {HOST.NAME} 在主机上进程太多
触发器表达式:{Zabbix server:proc.num[].avg(5m)}>1000
告警等级:警告
Performace触发器
1)Processor load is too high on {HOST.NAME} 在主机上处理器负载过高(1分钟)
触发器表达式:{Zabbix server:system.cpu.load[percpu,avg1].avg(5m)}>5
告警等级:警告
OS触发器
1)Configured max number of processes is too low on {HOST.NAME} 主机上配置的最大进程数太低
触发器表达式:{Zabbix server:kernel.maxproc.last(0)}<256
告警等级:信息
2)Configured max number of opened files is too low on {HOST.NAME} 在主机上配置的最大打开文件数太低
触发器表达式:{Zabbix server:kernel.maxfiles.last(0)}<1024
告警等级:信息



