运维八一 运维八一
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)

运维八一

运维,运维!
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)
  • 操作系统

  • 域名解析

  • 公有云

  • CI&CD

  • 数据库

  • 负载均衡&反向代理

  • 存储系统

  • 容器&容器编排

  • 批量管理

  • 邮件系统

  • 监控系统

    • prometheus
    • prometheus自定义监控项
    • zabbix-4.0部署
    • zabbix监控jvm
    • zabbix自定义监控项
      • 1. 检测网络丢包
      • 2. 监控服务状态
      • 3. 监控vpn是否掉线
      • 4. 远程增量拉取ftp文件,并推送到远程服务器
      • 5.zabbix批量添加Ping节点主机的监控
    • nagois+cacti+ntop组合监控
  • Web服务

  • 虚拟化

  • 防火墙

  • 压测

  • 文件同步

  • 私有云

  • 日志系统

  • 代码仓库&版本管理

  • 安全审计

  • 远程拨号

  • 大数据

  • 统一认证

  • 消息队列

  • Apollo

  • 运维杂记
  • 监控系统
lyndon
2022-10-08
目录

zabbix自定义监控项

# 1. 检测网络丢包

监控阿里云---IDC之间专线网络

在zabbix安装路径下,编写脚本:

[jyapp@iz2ze2xim85w29e3cr1m78z zabbix]$ cat pingloss_ip.sh
#!/bin/bash
iplist="/etc/zabbix/pingloss.list"
line=`cat $iplist | grep -v "^$" | wc -l`

echo -e "{"
echo -e "\t\"data\":["

for ((num=1;num<=$line-1;num++))
do
agentip=`cat $iplist | grep -v "^$" | sed -n "$num"p | awk  '{printf \$1}'`
agentdescription=`cat $iplist | grep -v "^$" | sed -n "$num"p | awk  '{printf \$2}'`
echo -e "\t\t{"
echo -e "\t\t\t\"{#CHECKIP}\":\"$agentip\",\"{#DESCRIPTION}\":\"$agentdescription\"},"
done

agentip=`cat $iplist | grep -v "^$" | sed -n "$line"p | awk  '{printf \$1}'`
agentdescription=`cat $iplist | grep -v "^$" | sed -n "$line"p | awk  '{printf \$2}'`
echo -e "\t\t{"
echo -e "\t\t\t\"{#CHECKIP}\":\"$agentip\",\"{#DESCRIPTION}\":\"$agentdescription\"}]}"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

创建地址列表文件

[jyapp@iz2ze2xim85w29e3cr1m78z zabbix]$ cat pingloss.list
10.50.200.254         10.50.200.254-DMZ生产-ping-丢包
10.50.208.254         10.50.208.254-DMZ生产-ping-丢包
10.50.190.254         10.50.190.254-业务生产地址段#1-ping-丢包
1
2
3
4

创建zabbix自定义key和UserParameter参数

[jyapp@iz2ze2xim85w29e3cr1m78z zabbix_agentd.d]$ cat userparameter_pingloss.conf
UserParameter=pingloss_discovery,/bin/bash /etc/zabbix/pingloss_ip.sh
1
2

# 2. 监控服务状态

背景:通过post方式curl服务地址进行监控,由于是函数计算,需要按时间段curl,周一至周日,7:00-23:00

在zabbix安装路径下,编写脚本:

[root@iz2ze2xim85w29e3cr1m78z zabbix]# cat curl_HKFC.sh
#!/bin/bash
req=`curl -X POST \
  http://xxxx.com/carmodel/api/carInfo/queryBaseCarInfoList \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: a583-64cd28039b64' \
  -d '{"frameNo": "LGBH12E00FY3"}' -s`
respcode="\"respCode\":\"00000\""
if [[ $req =~ $respcode ]]
then
    echo 0
else
    echo 1
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

创建zabbix自定义key和UserParameter参数

[root@iz2ze2xim85w29e3cr1m78z zabbix_agentd.d]# cat userparameter_curlHKFC.conf
UserParameter=curl_HKFC,/bin/bash /etc/zabbix/curl_HKFC.sh
1
2

在zabbix页面上操作

  • 1)添加该主机
  • 2)在该zabbix_agent主机下创建监控项,键值为curl_HKFC,时间间隔60s,周一至周日,7:00-23:00
  • 3)在该zabbix_agent主机下创建触发器,表达式为{10.150.191.114:curl_HKFC.last()}<>0
  • 4)可在 最新数据 中查看图形

# 3. 监控vpn是否掉线

背景:微服务通过vpn拨号到第三方,vpn本身不太稳定,启动时有5个进程,掉线时只有2个进程,使用监控进程方式不太好,采用ping第三方内网地址方式。

在zabbix安装路径下,编写脚本:

[jyapp@iZ2zeesrytvyn9ddan6v5jZ scripts]$ cat check_vpn.sh
#!/bin/bash
time=$(date +%Y%m%d-%H%M)
password=uE3^oA5*hY5^cS5^
for ((i=1;i<=3;i++))
do
  ping -c 5 zxpt.baihangcredit.com &>/dev/null
  [ $? -ne 0 ] && let FailCount+=1;
done
if [ -z $FailCount ];
then
  FailCount=0
  echo "0"
  echo "$time 检测vpn正常" >> /usr/local/zabbix_agent/scripts/check_vpn.log
fi
if [ $FailCount -eq 3 ];
then
  echo "1"
  easyconn login -d orgv-t.baihangcredit.com:4433 -u xiangqianjinfu -p${password} &>/dev/null
  if [ $? -eq 0 ];
  then
#    echo "0"
    echo "$time 检测vpn掉线,重启成功" >> /usr/local/zabbix_agent/scripts/check_vpn.log
  else
#    echo "1"
    echo "$time 检测vpn掉线,重启失败" >> /usr/local/zabbix_agent/scripts/check_vpn.log
  fi
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

创建zabbix自定义key和UserParameter参数

UserParameter=check_vpn,/bin/bash /usr/local/zabbix_agent/scripts/check_vpn.sh
1

在zabbix页面上操作

  • 1)添加该主机
  • 2)在该zabbix_agent主机下创建监控项,键值为check_vpn
  • 3)在该zabbix_agent主机下创建触发器,表达式为{10.150.191.192_cspbaihang:check_vpn.last()}<>0
  • 4)可在 最新数据 中查看图形

# 4. 远程增量拉取ftp文件,并推送到远程服务器

#!/bin/bash
#用途:远程增量拉取ftp服务器上的数据报送日志文件,使用rsync推送到大数据服务器
#远程ftp主机信息
HOST=172.23.0.21
PORT=990
USER=xxx
PASSWORD=xxx
lcd=/home/baihang_log
rcd=/creditdatafile/log/interface
#脚本执行时间
exec_time=`date +%Y-%m-%d_%H:%M:%S`
echo  -e "\n\033[31m脚本执行时间为: ${exec_time},发送文件如下:\033[0m" >> get_file.log
#登录ftp服务器增量拉取文件
lftp -u ${USER},${PASSWORD} sftp://${HOST}:${PORT} <<EOF
  mirror -e -n -v $rcd $lcd
  bye
EOF
#rsync使用ssh协议增量推送到大数据服务器(已配置免密登录)
rsync -av --delete -e 'ssh -p 10022' /home/baihang_log/ jyapp@10.50.192.147:/opt/apps/bdc/datareport-baihang-api/feedback >> get_file.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 5.zabbix批量添加Ping节点主机的监控

在172.19.101.57主机的/etc/zabbix/zabbix_agentd.conf配置文件追加一行自定义key

UserParameter=pingloss_discovery,/bin/bash /etc/zabbix/scripts/ping.sh
1

ping.sh脚本如下:

[root@JY1PBSZXMNT01 scripts]# cat ping.sh
#!/bin/bash
#copyright by liuhhailong in 2018-11-23
iplist="/etc/zabbix/scripts/ip_list"

line=`cat $iplist | grep -v "^$" | wc -l`

echo -e "{"
echo -e "\t\"data\":["

for ((num=1;num<=$line-1;num++))
do
agentip=`cat $iplist | grep -v "^$" | sed -n "$num"p | awk '{printf \$1}'`
agentdescription=`cat $iplist | grep -v "^$" | sed -n "$num"p | awk '{printf \$2}'`
echo -e "\t\t{"
echo -e "\t\t\t\"{#CHECKIP}\":\"$agentip\",\"{#DESCRIPTION}\":\"$agentdescription\"},"
done

agentip=`cat $iplist | grep -v "^$" | sed -n "$line"p | awk '{printf \$1}'`
agentdescription=`cat $iplist | grep -v "^$" | sed -n "$line"p | awk '{printf \$2}'`
echo -e "\t\t{"
echo -e "\t\t\t\"{#CHECKIP}\":\"$agentip\",\"{#DESCRIPTION}\":\"$agentdescription\"}]}"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

维护的列表,地址在/etc/zabbix/scripts/ip_list

在zabbix页面上创建模板

  • 在自定义发现里添加自定义规则,键值为pingloss_discovery
  • 配置监控项原型,名称为{#DESCRIPTION},键值为icmpping[{#CHECKIP},6,1000,68,500],信息类型浮点数

总结:合理利用了自动发现功能,利用自定义脚本输出json格式,通过宏变量,最终让zabbix拿取到了列表中的两个值,从而去批量实现监控PING主机节点的功能

上次更新: 2022/10/08, 16:35:41
zabbix监控jvm
nagois+cacti+ntop组合监控

← zabbix监控jvm nagois+cacti+ntop组合监控→

最近更新
01
ctr和crictl显示镜像不一致
03-13
02
alpine镜像集成常用数据库客户端
03-13
03
create-cluster
02-26
更多文章>
Theme by Vdoing | Copyright © 2015-2024 op81.com
苏ICP备18041258号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式