zabbix监控

目录

WEB场景:

自定义监控项:

自定义监控内存:

监控zabbi的agent端的tcp连接数值:

zabbix监控网络设备:

邮件报警:

创建zabbix自动监测:

给zabbix配置执行远程命令的动作


WEB场景:

在zabbix-agent上添加web场景

#先安装httpd并开启
yum -y install httpd
systemctl enable httpd --now

配置--》主机--》web监测

zabbix监控_第1张图片

zabbix监控_第2张图片

zabbix监控_第3张图片

zabbix监控_第4张图片 添加完成后,效果在     监测--》主机--》web场景--》测试

zabbix监控_第5张图片

zabbix监控_第6张图片

自定义监控项:

自定义监控内存:

在zabbix-agent端编写配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf

#最后添加
Include=/root/zabbix-6.0.5/conf/zabbix_agentd

#进入安装路径
cd zabbix-6.0.5/conf/zabbix_agentd/

#删掉userparameter_examples.conf 
rm -rf userparameter_examples.conf 

#编写文件
vim userparameter_memory.conf 

#添加键值
UserParameter=memory_used, free -m |awk 'NR==2 {print $3}'

#重启zabbix
killall -9 zabbix_agent
/usr/local/zabbix/sbin/zabbix_agentd 

#在zabbix-server端测试
zabbix_get -s 192.168.100.2 -k memory_used

在浏览器上编写:

创建模板--》创建图形--》创建触发器

zabbix监控_第7张图片

可以看到刚刚创建的模板,但是没有图形和监控项 

zabbix监控_第8张图片

 点击图形--》创建监控项

zabbix监控_第9张图片

zabbix监控_第10张图片 

创建图形

zabbix监控_第11张图片

创建触发器

zabbix监控_第12张图片

zabbix监控_第13张图片 点击添加,最后将此模板加入zabbix-agent

zabbix监控_第14张图片

完成后,刷新查看 

zabbix监控_第15张图片

监控zabbi的agent端的tcp连接数值:

#编写脚本
vim /usr/local/zabbix/etc/tcp_status.sh

#!/bin/bash
if [ $# -ne 1 ];then
    echo "Follow the script name with an argument "
fi

case $1 in

LISTEN)
    result=`netstat -ant| awk '/^tcp/ {a[$6]++} END {for (b in a) print b,a[b]}'| awk '/LISTEN/{print $2}'`
    if [ "$result" == "" ];then
           echo 0
    else
       echo $result
    fi
    ;;
ESTAB)
    result=`netstat -ant| awk '/^tcp/ {a[$6]++} END {for (b in a) print b,a[b]}'| awk '/ESTABLISHED/{print $2}'`
    if [ "$result" == "" ];then
           echo 0
    else
       echo $result
    fi
    ;;
TIME_WAIT)
    result=`netstat -ant| awk '/^tcp/ {a[$6]++} END {for (b in a) print b,a[b]}'| awk '/TIME_WAIT/{print $2}'`
    if [ "$result" == "" ];then
           echo 0
    else
       echo $result
    fi
esac



#给予执行权限
chmod 777 /usr/local/zabbix/etc/tcp_status.sh
#编写文件
vim zabbix-6.0.5/conf/zabbix_agentd/userparameter_Tcp-status.conf 

#添加
UserParameter=tcp.status[*], /usr/local/zabbix/etc/tcp_status.sh $1

#重启zabbix
killall -9 zabbix_agent
/usr/local/sbin/zabbix_agent

在server端测试

zabbix监控_第16张图片

之后 在浏览器上创建监控项zabbix监控_第17张图片

依次添加

zabbix监控_第18张图片

zabbix监控_第19张图片zabbix监控_第20张图片

zabbix监控_第21张图片

创建图形 

zabbix监控_第22张图片

 添加监控项zabbix监控_第23张图片

添加完成,点击应用

zabbix监控_第24张图片 在监控中查看

 监测--》主机--》图形

zabbix监控_第25张图片

zabbix监控网络设备:

开启gns,设置桥接

zabbix监控_第26张图片

 zabbix监控_第27张图片

连接交换机,运行enable进入用户模式。

Switch>enable
Switch#
#运行sh snmp查看SNMP协议是否开启
Switch#sh snmp
#运行config t进入全局配置模式
Switch#config t
sw1(config)#int vlan 1
sw1(config-if)#ip address 192.168.100.10 255.255.255.0
sw1(config-if)#no shutdown

zabbix监控_第28张图片

#设置只读字符串,public为团体名称,ro为只读
Switch#snmp-server community public ro

#启用snmp陷井,允许交换机将所有类型SNMP Trap发送出去
Switch#snmp-server enable traps snmp

#SNMP采用版本2,public作为团体名称,192.168.100.5为zabbix-server地址
Switch#snmp-server host 192.168.100.5 version 2c public

#指定SNMP Trap的接收者为192.168.100.5(zabbix-server地址),发送Trap时采用public作为团体名称
Switch#snmp-server host 192.168.100.5 traps public

#设置vlan1虚接口IP地址做为snmp trap信息的发布地址
Switch#snmp-server trap-source vlan 1

配置--》主机--》创建主机

zabbix监控_第29张图片

 添加主机和宏

zabbix监控_第30张图片zabbix监控_第31张图片

 创建完成后添加图形

zabbix监控_第32张图片

查看效果

zabbix监控_第33张图片

zabbix监控_第34张图片

邮件报警:

登录QQ邮箱

点击设置--》账户 --》开启POP3/SMTP(按要求操作)

zabbix监控_第35张图片

zabbix监控_第36张图片

配置server.zabbix.com端的邮件

#yum安装
yum -y install dos2unix.x86_64 mailx

#编写配置文件,在此文件末尾添加,指定接收邮件邮箱地址,指定邮箱服务器地址,指定接收邮件邮箱地址的授权码
vi /etc/mail.rc

#自己的QQ邮箱
set [email protected] smtp=smtp.qq.com     

#smtp-auth码写刚刚获取到的码
set [email protected]  smtp-auth-password=qpfncrsdbhnebifj
set smtp-auth=login

#重启zabbix
killall -9 zabbix_agent
/usr/local/zabbix/sbin/zabbix_agent

#最后输入测试
echo "测试内容" |mail -s "测试标题" [email protected]

zabbix监控_第37张图片

#编写脚本
vim /usr/local/zabbix/share/zabbix/alertscripts/2.sh

#!/bin/bash
#export.UTF-8
title=$2
sendto=$1
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s "$title" "$sendto" <$FILE

#给权限
chmod 777 /usr/local/zabbix/share/zabbix/alertscripts/2.sh
chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/2.sh 
touch /tmp/mailtmp.txt
chmod 777 /tmp/mailtmp.txt
chown zabbix:zabbix /tmp/mailtmp.txt

#测试
/usr/local/zabbix/share/zabbix/alertscripts/2.sh  [email protected] "测试标题2" "测试内容2"

配置zabbix  web网站进行监控项的邮件报警,每一张图片后附带解释和注意事项,大体步骤分为 监控--创建报警媒介类型--更新用户使用的报警媒介类型--创建动作(根据触发器触发)--验证;

创建报警媒介类型:

zabbix监控_第38张图片

输入创建的报警媒介类型的名称,指定类型为脚本的方式,并且输入zabbix_server端/usr/local/zabbix/share/zabbix/alertscripts目录下的脚本名称,确保脚本的归属是zabbix,并且脚本的权限是777,下边设置脚本参数,也就是发送邮件的语法:脚本 收件人 标题 内容,必须严格按照此标准填写;

zabbix监控_第39张图片

 选择Messages templates,点击添加

 主题写:

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

消息内容:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

zabbix监控_第40张图片

配置完成后点添加,更新,之后在管理--》用户中配置用户所使用的报警媒介类型以及接收邮件的邮箱;

zabbix监控_第41张图片

zabbix监控_第42张图片 zabbix监控_第43张图片

 创建动作,也就是发送邮件的动作;

zabbix监控_第44张图片

 输入动作名,动作名最好为英文,可以选择触发这个动作的条件(可以选择触发器=触发器的名称或者选择触发器似触发器名称),作为条件,如若如图不选择触发器的条件,那么任何消息都会提示到邮箱;

zabbix监控_第45张图片

zabbix监控_第46张图片 点击操作,第一个操作添加

zabbix监控_第47张图片

 恢复操作添加

zabbix监控_第48张图片

 配置完这两个后,默认操作步骤持续时间改为60s,点击添加

zabbix监控_第49张图片

开始测试邮件报警

#测试
dd if=/dev/zero of=/opt/1.txt bs=1G count=5 

 zabbix监控_第50张图片

 创建zabbix自动监测:

配置-->自动发现-->创建发现规则:

zabbix监控_第51张图片

 zabbix监控_第52张图片

zabbix监控_第53张图片

zabbix监控_第54张图片

zabbix监控_第55张图片 完成后点击添加,最后进行测试,打开一台centos7

#server端和新机子编写hosts文件,互相加入
192.168.100.5 server.zabbix.com
192.168.100.2 agent.zabbix.com
192.168.100.6 lyh.zabbix.com

#修改名称
hostnamectl set-hostname lyh.zabbix.com

#安装依赖
yum -y install libxml2-devel libcurl-devel pcre-devel 

#传输zabbix安装包
scp zabbix-6.0.5.tar.gz [email protected]:/root/zabbix-6.0.5.tar.gz 

#解包
tar zxvf zabbix-6.0.5.tar.gz 

#进入zabbix目录 配置、编译、编译安装
cd zabbix-6.0.5/
./configure --prefix=/usr/local/zabbix --enable-agent --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install

#编写配置文件,内容全部删除,手动添加
LogFile=/tmp/zabbix_agentd.log
Server=192.168.100.5
ServerActive=192.168.100.5
Hostname=lyh.zabbix.server

#创建用户和组
groupadd zabbix
useradd -r -g zabbix zabbix

#修改权限
chown -R zabbix:zabbix /usr/local/zabbix/

#启动zabbix_agent
/usr/local/zabbix/sbin/zabbix_agentd 

#查看端口号
netstat -anpt |grep 10050

添加完成

zabbix监控_第56张图片

给zabbix配置执行远程命令的动作

当触发器达到报警阈值时,我们可以根据相关的报警来执行相关的命令使故障达到自我修复的效果

例如 zabbix_agent端的ssh端口关闭并执行重启ssh的例子

#修改配置文件(6.0之前的写法)
vim /usr/local/zabbix/etc/zabbix_agentd.conf

#添加
EnableRemoteCommands=1

------------------------------------------------------

#6.0的写法在agent端
vim /usr/local/zabbix/etc/zabbix_agentd.conf
#加入
AllowKey=system.run[*]
LogRemoteCommands=1

#给zabbix用户提权
echo "zabbix ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/zabbix

重启zabbix_agent
killall -9 zabbix_agent
/usr/local/zabbix/sbin/zabbix_agent

#测试,在server端get一下
zabbix_get  -s 192.168.100.2 -k "system.run[sudo df -h]"

zabbix监控_第57张图片

#编写脚本
vim /root/restart_sshd.sh

#加入
#!/bin/bash
systemctl restart sshd

#给予执行权限
chmod +x /root/restart_ssh.sh 

添加脚本 

zabbix监控_第58张图片

zabbix监控_第59张图片

给zabbix-agent创建ssh监控项 

zabbix监控_第60张图片

创建触发器 

zabbix监控_第61张图片

zabbix监控_第62张图片

创建动作

zabbix监控_第63张图片

zabbix监控_第64张图片

zabbix监控_第65张图片

zabbix监控_第66张图片

zabbix监控_第67张图片

 配置完成后点击添加-----应用

测试:

在agent端杀掉sshd进程

zabbix监控_第68张图片

zabbix监控_第69张图片

 查看动作日志

zabbix监控_第70张图片

zabbix监控_第71张图片

查看sshd状态

zabbix监控_第72张图片

你可能感兴趣的:(zabbix,linux,运维,服务器)