zabbix监控

目录

WEB场景:

自定义监控项:

自定义监控内存:

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

zabbix监控网络设备:

邮件报警:

创建zabbix自动监测:

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


WEB场景:

在zabbix-agent上添加web场景

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

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

 添加完成后,效果在     监测--》主机--》web场景--》测试

自定义监控项:

自定义监控内存:

在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-agent

完成后,刷新查看 

监控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监控网络设备:

开启gns,设置桥接

 

连接交换机,运行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

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

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

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

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

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

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

 添加主机和宏

 创建完成后添加图形

查看效果

邮件报警:

登录QQ邮箱

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

配置server.zabbix.com端的邮件

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

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

#自己的QQ邮箱
set from=1684954874@qq.com smtp=smtp.qq.com     

#smtp-auth码写刚刚获取到的码
set smtp-auth-user=1684954874@qq.com  smtp-auth-password=qpfncrsdbhnebifj
set smtp-auth=login

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

#最后输入测试
echo "测试内容" |mail -s "测试标题" 1684954874@qq.com

#编写脚本
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  1684954874@qq.com "测试标题2" "测试内容2"

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

创建报警媒介类型:

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

 选择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}

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

 

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

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

 点击操作,第一个操作添加

 恢复操作添加

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

开始测试邮件报警

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

 

 创建zabbix自动监测:

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

 

 完成后点击添加,最后进行测试,打开一台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 root@192.168.100.6:/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配置执行远程命令的动作

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

例如 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]"

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

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

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

添加脚本 

给zabbix-agent创建ssh监控项 

创建触发器 

创建动作

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

测试:

在agent端杀掉sshd进程

 查看动作日志

查看sshd状态

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值