首页 > 系统相关 >zabbix自定义监控进程与日志

zabbix自定义监控进程与日志

时间:2022-09-07 05:33:32浏览次数:110  
标签:httpd log 自定义 0.0 zabbix 日志 root localhost

zabbix自定义监控进程与日志


目录

zabbix自定义监控进程

基于之前的邮箱告警,部署完成后,我们在zabbix客户端进行编译脚本用来监控进程,
下面是通过httpd进程来进行测试
在客户端

[root@localhost ~]# dnf -y install httpd  //下载httpd
[root@localhost ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
设置开机自启
[root@localhost ~]# mkdir -p /scripts/zabbix/  //创建脚本存放目录
[root@localhost ~]# cd /scripts/zabbix/
[root@localhost zabbix]# vim check_process.sh  //编辑脚本
[root@localhost zabbix]# cat check_process.sh 
 #!/bin/bash
     count=$(ps -elf | grep -vE "$0|grep" | grep $1 | wc -l) //定义一个变量统计服务进程的行数
     if [ $count -eq 0 ];then  //使用if语句,当count等于0的时候就说明有问题,打印“1”,代表有问题
                  echo "1"
                      else      
                   echo "0"  //否则打印“0”,代表没问题
                       fi
[root@localhost zabbix]# chmod +x check_process.sh 
//赋予执行权限
[root@localhost zabbix]# ./check_process.sh httpd
0   //没问题
[root@localhost zabbix]# ./check_process.sh mysql
1   //有问题
[root@localhost zabbix]# vim /usr/local/etc/zabbix_agentd.conf
//编辑/usr/local/etc/zabbix_agentd.conf文件
UnsafeUserParameters=1
UserParameter=check_process[*],/bin/bash /scripts/zabbix/check_process.sh $1
[root@localhost zabbix]# pkill zabbix_agentd 
[root@localhost zabbix]# zabbix_agentd 
//先杀死再重启
[root@localhost ~]# ss  -antl  //查看端口
State     Recv-Q    Send-Q         Local Address:Port          Peer Address:Port    Process    
LISTEN    0         128                  0.0.0.0:10050              0.0.0.0:*                  
LISTEN    0         128                  0.0.0.0:22                 0.0.0.0:*                  
LISTEN    0         128                        *:80                       *:*                  
LISTEN    0         128                     [::]:22                    [::]:*                  

在服务端测试

[root@localhost ~]# ss -antl   //查看端口
State     Recv-Q    Send-Q         Local Address:Port          Peer Address:Port    Process    
LISTEN    0         128                  0.0.0.0:80                 0.0.0.0:*                  
LISTEN    0         128                  0.0.0.0:22                 0.0.0.0:*                  
LISTEN    0         100                127.0.0.1:25                 0.0.0.0:*                  
LISTEN    0         128                  0.0.0.0:10050              0.0.0.0:*                  
LISTEN    0         128                  0.0.0.0:10051              0.0.0.0:*                  
LISTEN    0         128                127.0.0.1:9000               0.0.0.0:*                  
LISTEN    0         128                     [::]:22                    [::]:*                  
LISTEN    0         100                    [::1]:25                    [::]:*                  
LISTEN    0         70                         *:33060                    *:*                  
LISTEN    0         128                        *:3306                     *:*                  
[root@localhost ~]# zabbix_get -s 192.168.222.251 -k check_process[httpd]
0
//在服务端进行测试,输入的是客户端的ip

接下来就需要在zabbix web管理界面去定义监控项与触发器了
创建监控项
这里选择的主机与你的被监控主机(客户端)对应


点击add(添加)

添加触发器






现在关掉被监控端(客户端)的httpd服务,验证效果

[root@localhost ~]# systemctl stop httpd


zabbix自定义监控日志

监控日志同样需要使用脚本(或Python),也需要在被监控端做配置
以下需要用到的log.py文件可以去GitHub面查看下载log.py
在客户端
我们想要监控/var/log/error_log日志有没有错误信息,要确保这个目录谁都可以读取,文件也一样

[root@localhost ~]# cd /var/log/httpd/
[root@localhost httpd]# chmod 775 /var/log/httpd/
[root@localhost httpd]# ll -d /var/log/httpd/
drwxrwxr-x. 2 root root 41 Sep  7 03:05 /var/log/httpd/
[root@localhost httpd]# ll /var/log/httpd/error_log 
-rw-r--r--. 1 root root 2348 Sep  7 03:50 /var/log/httpd/error_log
[root@localhost ~]# cd /scripts/zabbix/
[root@localhost zabbix]# dnf module -y install python38 //没有python安装
[root@localhost zabbix]# ls
check_process.sh
[root@localhost zabbix]# vim log.py
[root@localhost zabbix]# ls
check_process.sh  log.py
[root@localhost zabbix]# chmod +x log.py //赋予执行权限
[root@localhost zabbix]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_logs[*],/usr/bin/python3 /scripts/zabbix/log.py $1 $2 $3
//编辑/usr/local/etc/zabbix_agentd.conf文件
[root@localhost zabbix]# pkill zabbix_agentd 
[root@localhost zabbix]# zabbix_agentd 
//杀死重启zabbix_agentd 

//在服务端测试是否可用

[root@localhost ~]# zabbix_get -s 192.168.222.251 -k check_logs[/var/log/httpd/error_log,/tmp/logseek,error] 

配置监控项



配置触发器





在被监控端手动触发告警

[root@localhost zabbix]# echo "Error" >> /var/log/httpd/error_log

标签:httpd,log,自定义,0.0,zabbix,日志,root,localhost
From: https://www.cnblogs.com/tushanbu/p/16663940.html

相关文章

  • 【WPF】自定义用登入界面 (C#) -从认证和授权说起。
    概要自定义如下界面登入界面WPF桌面软件。写代码时候要注意哪些事情呢?答案:认证和授权。  我们在桌面应用软件登入界面时,作为小白一般都是用明文密码登入软件然后就......
  • zabbix自定义监控进程和日志
    zabbix自定义监控进程和日志目录zabbix自定义监控进程和日志自定义监控进程配置监控脚本添加监控项添加触发器手动关闭httpd服务,触发报警自定义监控日志服务端和客户端操......
  • Flask 学习-54.Flask-RESTX 结合 namespace 使用 logging日志
    前言Flask-RESTX通过提供每个和它自己的标准Python实例来扩展Flask的日志记录。这允许在每个命名空间的基础上分离日志记录,以允许更细粒度的细节和配置。基本示例默......
  • python fastapi + uvicorn 记录日志的最佳实践,结合nb_log
      pythonfastapi+uvicorn记录日志的最佳实践,要记录对fastapi什么时候请求了什么url和入参,只需要记录uvicorn命名空间的日志就可以了。文章使用nb_log五彩日志来......
  • 07-Nginx日志切割-通过sh脚本手动切割日志
    Nginx日志切割现有的日志都会存在access.log文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员查看,所以我们可以通过把文件切割为多份不同......
  • 【uni-app】自定义导航栏/标题栏
    什么是自定义导航栏默认导航栏或原生导航栏是啥样的,你懂的。但,我想给导航栏加个背景图,比如这样: 这时候就需要自定义导航栏。自定义导航栏自定义导航栏的中心思想是: ......
  • 08-Nginx日志切割-脚本+定时任务自动切割日志
    定时任务执行脚本,解决手动问题安装依赖yuminstallcrontabs添加定时任务crontab-e输入内容*/1****/usr/local/nginx/sbin/cut_my_log.sh修改完成后......
  • mysql 日志文件配置
     https://blog.csdn.net/a510196774/article/details/101995194 [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysql/mysqld......
  • client-go开发自定义operator
    开发operator一共分为5步骤一、创建configconfig的创建有两种方式1、clientcmd.BuildConfigFromFlagsconfig,err:=clientcmd.BuildConfigFromFlags("",clientcmd.......
  • idea自动生成实体类,自动添加注释,自定义实体类
    之前写过一篇博客记录了idea编译器怎么快速生成实体类,但是发现没有自动添加注释,如果字段比较多的话,看着很不友好:https://www.cnblogs.com/lyd447113735/p/14924011.html所......