Zabbix 使用 [ 续篇 ]
Zabbix agent端
systemctl stop firewalld # 关闭防火墙及核心安全机制 [ 临时 ]
systemctl disable firewalld # [ 永久 ]
setenforce 0 # SeLinux设为disabled [ 临时 ]
sed -i 's/enforcing/disabled/g' /etc/selinux/config # [ 永久 ]
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-agent -y
### 如安装报错 可替换阿里源再次尝试
### 阿里 Zabbix 源
cat <<EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
### 添加gpgkey
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
###
yum makecache -y
yum install zabbix-agent -y
### vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid #13行
LogFile=/var/log/zabbix/zabbix_agentd.log #32行
LogFileSize=0 #43行
Server=192.168.25.136 #98行修改,指向监控服务器
ServerActive=192.168.25.136 #139行修改,指向监控服务器
Hostname=test #150行,指定名称
Include=/etc/zabbix/zabbix_agentd.d/*.conf #268行
systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -nltp | grep zabbix
监控主机
配置 >> 主机 >> 创建主机
监控磁盘空间
配置 >> 主机 >> 监控项 >> 创建监控项
键值:vfs.fs.size[/,pused]
触发器
配置磁盘使用超过80%的触发器,超过报警
配置 >> 主机 >> 触发器 >> 创建触发器
表达式:{192.168.25.137:vfs.fs.size[/,pused].last(#1,30)}>=80
监控服务端口
创建监控项
键值: net.tcp.port[,3306]
触发器
创建触发器
表达式:{192.168.25.137:net.tcp.port[,3306].last()}=0
监控服务器CPU
创建监控项
键值:system.cpu.util[,idle]
触发器
创建触发器
超过85%报警,表达式:{192.168.25.137:system.cpu.util[,idle].avg(1m)}<15
邮件告警
安装邮件发送工具 mailx [ 监控服务器 ]
yum -y install mailx
vim /etc/mail.rc
'//末尾添加'
set from=[email protected]
set smtp=smtp.163.com
set smtp-auth-user=[email protected]
set smtp-auth-password=VJNTEATUCBJFDCPK
set smtp-auth=login
'测试'
echo "hello tomorrow" | mail -s "test" [email protected]
'编写邮件脚本'
mkdir -p /opt/app/zabbix/share/zabbix/alertscripts/
cd /opt/app/zabbix/share/zabbix/alertscripts/
touch /tmp/sendmailx.log
vim sendmailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
'授权'
chown zabbix.zabbix /opt/app/zabbix/share/zabbix/alertscripts/sendmailx.sh
chmod +x /opt/app/zabbix/share/zabbix/alertscripts/sendmailx.sh
chmod 777 /tmp/sendmailx.log
'指定脚本放置目录,不然脚本运行不了'
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/opt/app/zabbix/share/zabbix/alertscripts/ # 514行
'测试脚本'
/opt/app/zabbix/share/zabbix/alertscripts/sendmailx.sh [email protected] zabbix
报警媒介类型
新建媒介类型
管理 >> 报警媒介类型 >> 创建媒介类型
{
ALERT.SENDTO}
{
ALERT.SUBJECT}
{
ALERT.MESSAGE}
用户添加报警媒介
管理 >> 用户 >> admin >> 报警媒介 >> 添加
更新
配置动作
配置 >> 动作 >> 创建动作
操作和恢复操作设置
操作
警报:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
恢复操作
【恢复】:{HOSTNAME1} {TRIGGER.NAME}
发生时间:{EVENT.DATE} {EVENT.TIME}
恢复时间: {TIME} 持续时间: {EVENT.AGE}
恢复详情: {ITEM.NAME1} ({ITEM.KEY1}): {ITEM.VALUE1}
当前状态: {TRIGGER.STATUS}: {ITEM.LASTVALUE}
测试
dd if=/dev/zero of=/test bs=1024k count=10240 # 生成文件