zabbix监控进程和监控日志


一、自定义监控进程


以httpd服务为例,在agent1中安装httpd

[root@agent1 ~]# yum -y install httpd
[root@agent1 ~]# systemctl restart httpd
[root@agent1 ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@agent1 ~]#
[root@agent1 ~]# ps -ef |grep httpd
root 1845 1 0 14:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1846 1845 0 14:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1847 1845 0 14:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1848 1845 0 14:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1849 1845 0 14:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 2080 1786 0 14:41 pts/0 00:00:00 grep --color=auto httpd
[root@agent1 ~]# ps -ef | grep httpd | grep -v grep | wc -l
5
[root@agent1 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

1、新建脚本存放目录

[root@agent1 ~]# cd /etc/zabbix/
[root@agent1 zabbix]# mkdir script
[root@agent1 zabbix]# ls
script zabbix_agentd.conf zabbix_agentd.d
[root@agent1 zabbix]# cd script/
[root@agent1 script]# vim check_httpd.sh
#!/bin/bash
count=$(ps -ef | grep -Ev "grep|$0" | grep -c httpd)
if [ $count -eq 0 ];then
echo '1'
else
echo '0'
fi
[root@agent1 script]# chown -R zabbix.zabbix /etc/zabbix/script/
[root@agent1 script]# chmod +x check_httpd.sh
[root@agent1 script]# 测试脚本--0是httpd服务开启,1为关闭

[root@agent1 script]# ./check_httpd.sh

0

[root@agent1 script]# systemctl stop httpd

[root@agent1 script]# ./check_httpd.sh

1

[root@agent1 script]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2、修改zabbix_agentd.conf文件

[root@agent1 script]# vim /etc/zabbix/zabbix_agentd.conf
318 UserParameter=logusers,who |wc -l
319 UserParameter=check_httpd,/bin/bash /etc/zabbix/script/check_httpd.sh
[root@agent1 script]# systemctl restart zabbix-agent.service
  • 1
  • 2
  • 3
  • 4
  • 5

3、zabbix server端进行测试脚本

[root@server ~]# zabbix_get -s 192.168.89.150 -k check_httpd
bash: zabbix_get: command not found...
Packages providing this file are:
'zabbix40'
'zabbix-get'
[root@server ~]# dnf -y install zabbix-get
[root@server ~]# zabbix_get -s 192.168.89.150 -k check_httpd
0
0代表httpd服务已启动
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4、zabbix web平台配置

新建监控项

5、配置触发器



6、测试–关闭httpd服务,测试告警信息

[root@agent1 script]# systemctl stop httpd
  • 1


二、自定义监控日志


下载log.py来协助我们进行测试,以httpd服务为例

1、将log.py上传到/etc/zabbix/script/目录下,然后给执行权限,修改所有者和所属组为zabbix

  • 作用:检查日志文件中是否有指定的关键字
  • 第一个参数为日志文件名(必须有,相对路径、绝对路径均可)
  • 第二个参数为seek position文件的路径(可选项,若不设置则默认为/tmp/logseek文件。相对路径、绝对路径均可)
  • 第三个参数为搜索关键字,默认为 Error
[root@agent1 script]# ls
check_httpd.sh
上传文件...
[root@agent1 script]# ls
check_httpd.sh log.py
[root@agent1 script]#
[root@agent1 script]# chown zabbix.zabbix log.py
[root@agent1 script]# chmod +x log.py
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2、httpd服务的日志文件在/var/log/httpd/目录下,首先我们需要给这个目录设置一个ACL权限,让zabbix用户有权限去访问该目录

[root@agent1 script]# setfacl -m u:zabbix:r-x /var/log/httpd/
[root@agent1 script]# getfacl /var/log/httpd
getfacl: Removing leading '/' from absolute path names
# file: var/log/httpd
# owner: root
# group: root
user::rwx
user:zabbix:r-x
group::---
mask::r-x
other::--- [root@agent1 script]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3、下载python3来执行log.py脚本

[root@agent1 script]# dnf -y install python3
Last metadata expiration check: 0:19:13 ago on Tue 06 Sep 2022 03:05:04 PM CST.
Dependencies resolved.
==========================================================================================================================================================================
Package Architecture Version Repository Size
==========================================================================================================================================================================
Installing:
python36 x86_64 3.6.8-38.module_el8.5.0+895+a459eca8 AppStream 19 k
Installing dependencies:
python3-pip noarch 9.0.3-20.el8 AppStream 20 k
python3-setuptools noarch 39.2.0-6.el8 base 163 k
Downgrading:
platform-python-pip noarch 9.0.3-20.el8 base 1.7 M
Enabling module streams:
python36 3.6

Transaction Summary

Install 3 Packages

Downgrade 1 Package

Total download size: 1.9 M

Downloading Packages:

(1/4): python3-pip-9.0.3-20.el8.noarch.rpm 67 kB/s | 20 kB 00:00

(2/4): python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64.rpm 90 kB/s | 19 kB 00:00

(3/4): python3-setuptools-39.2.0-6.el8.noarch.rpm 98 kB/s | 163 kB 00:01

(4/4): platform-python-pip-9.0.3-20.el8.noarch.rpm 99 kB/s | 1.7 MB 00:17

Total 111 kB/s | 1.9 MB 00:17

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

Preparing : 1/1

Installing : python3-setuptools-39.2.0-6.el8.noarch 1/5

Downgrading : platform-python-pip-9.0.3-20.el8.noarch 2/5

Installing : python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 3/5

Running scriptlet: python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 3/5

Installing : python3-pip-9.0.3-20.el8.noarch 4/5

Cleanup : platform-python-pip-9.0.3-22.el8.noarch 5/5

Running scriptlet: platform-python-pip-9.0.3-22.el8.noarch 5/5

Verifying : platform-python-pip-9.0.3-20.el8.noarch 1/5

Verifying : platform-python-pip-9.0.3-22.el8.noarch 2/5

Verifying : python3-setuptools-39.2.0-6.el8.noarch 3/5

Verifying : python3-pip-9.0.3-20.el8.noarch 4/5

Verifying : python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 5/5 Downgraded:

platform-python-pip-9.0.3-20.el8.noarch

Installed:

python3-pip-9.0.3-20.el8.noarch python3-setuptools-39.2.0-6.el8.noarch python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 Complete!

[root@agent1 script]#
  • 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
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

4、修改zabbix_agentd.conf文件,并重启服务

[root@agent1 script]# vim /etc/zabbix/zabbix_agentd.conf
318 UserParameter=logusers,who |wc -l
319 UserParameter=check_httpd,/bin/bash /etc/zabbix/script/check_httpd.sh
320 UserParameter=check_logs[*],/usr/bin/python3 /etc/zabbix/script/log.py $1 $2 $3
[root@agent1 script]# systemctl restart zabbix-agent.service
  • 1
  • 2
  • 3
  • 4
  • 5

5、测试脚本

[root@agent1 script]# python3 log.py /var/log/httpd/error_log
0
[root@agent1 script]# echo 'Error' >> /var/log/httpd/error_log
[root@agent1 script]# python3 log.py /var/log/httpd/error_log
1
[root@agent1 script]#
[root@agent1 script]# rm -rf /tmp/logseek
0为没有Error日志信息,1为有Error日志信息 测试完成后将写入的Error内容删除,而且因文件/tmp/logseek属于root账户,在web端写入写不进去,所以删除。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

6、配置监控项


7、创建触发器



8、测试,echo Error >> /var/log/httpd/error_log

[root@agent1 script]# echo 'Error' >> /var/log/httpd/error_log
  • 1

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux23142 人正在系统学习中

zabbix监控进程和监控日志的更多相关文章

  1. zabbix 监控进程

    参考资料 官方文档. 有时候某个进程挂了没有发现,直到业务中断才想起去检查.希望能有个功能在某个进程挂了以后发出告警. zabbix提供proc.num这个key对后台进程进行监控.原理很简单,其实就 ...

  2. 原来zabbix监控进程与端口是如此的简单!

    使用zabbix自带key监控进程与端口 每个公司都有自己的程序,自己的进程名与端口监听,对于nagios来说,这些都经常需要自己去写插件,但是zabbix不需要,它自己就有监控进程与端口的key. ...

  3. 使用zabbix监控oracle的后台日志

    本文将介绍如何使用zabbix监控oracle的后台日志,当oracle后台日志出现“ORA-”或“Error”时,第一时间将该信息报警出来 zabbix agent端 以下所有操作均用root执行 ...

  4. Zabbix 监控进程参考

    1)zabbix自动发现占用内存最大top10进程并监控资源 http://blog.csdn.net/ybx13218464908/article/details/47819401

  5. zabbix 监控进程,端口

    环境介绍 操作系统:centos 7.4 zabbix版本:zabbix server 3.4.7 客户端:zabbix-agent 3.4.7 监控进程:mysqld 监控端口:3306 tcp 进 ...

  6. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警

    Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html  MPM安装配置参考博文和MPM官网下载地址 http://blog ...

  7. 转 zabbix debug and zabbix使用percona插件监控mysql

    ########## https://www.cnblogs.com/keithtt/p/8542987.html zabbix使用percona插件监控mysql   1.添加percona仓库. ...

  8. Zabbix监控工具介绍及软件监控、硬件监控及报警练习

     zabbix介绍 zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供 ...

  9. MHA监控进程异常退出

    这两天遇到一个非常诡异的问题,打算和大家分享一下.只所以诡异估计是自己知识面不够吧.线上的MHA一直没有开启自动切换,都是手动切换的,最近开启了自动切换以后,退出securecrt窗口以后发现监控进程 ...

  10. Zabbix 3.0 部署监控 [二]

    一.添加监控主机及设置   1.创建主机 Agent可以干一些SNMP无法干的事情,例如自定义监控项 snmp相关文章:http://www.abcdocker.com/abcdocker/1376  ...

随机推荐

  1. 数仓性能优化:倾斜优化-表达式计算倾斜的hint优化

    本文分享自华为云社区<GaussDB(DWS)性能调优:倾斜优化-表达式计算倾斜的hint优化>,作者: 譡里个檔 . 1.原始SQL SELECT TMP4.TAX_AMT, CATE. ...

  2. [ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective settings

    原因: maven 的配置文件 setting.xml 有错. 比如在配置文件中多了一行: 导致配置文件的格式不正确.

  3. Solon2 开发之插件,四、插件热插拔管理机制(H-Spi)

    插件热插拔管理机制,简称:H-Spi.是框架提供的生产时用的另一种高级扩展方案.相对E-Spi,H-Spi 更侧重隔离.热插热拔.及管理性. 应用时,是以一个业务模块为单位进行开发,且封装为一个独立插 ...

  4. Python中节省内存的方法之一:__slots__属性

    Python是一门动态语言,可以在运行过程中,修改实例的属性和增删方法.任何实例都包含一个字典__dict__,该字典保存了实例所有的属性和方法.Python也通过这个字典可以将任意属性绑定到实例上. ...

  5. AI 视频云 VS 窄带高清,谁是视频时代的宠儿

    随着网络技术的逐渐改善,各类视频消息成为媒体传播的主要选择手段.但其实支撑着视频传播的并不单单是网络技术,还有视频转码与压缩技术.这类技术下分很多,比如曾经被频繁提到的 H.265,比如时下热门的窄带 ...

  6. docker 容器关闭与springboot/springcloud client关闭

    问题的提出: 在docker容器中运行springboot.springcloud client,如何进行优雅的关闭,防止eureka出现: EMERGENCY! EUREKA MAY BE INCO ...

  7. GitHub CEO发文:严格限制俄罗斯获取侵略性军事能力所需要的技术

    前几天,在微信群里就有小伙伴发了一些关于GitHub将限制俄罗斯开发人员使用开源软件的消息,引起程序员圈子的热烈讨论. 就在不久前,GitHub CEO在GitHub官方博客发文阐述了对乌克兰战争的回 ...

  8. #2066:一个人的旅行(Dijkstra算法入门题)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. 0x41 数据结构进阶-并查集

    A题 程序自动分析 题目链接:https://ac.nowcoder.com/acm/contest/1031/A 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考 ...

  10. mysql 使用 trim去不掉空格 解决

    使用mysql8.0时 发现 有几个空字符串怎么也过滤不掉,使用 is not null.trim()<>''.length()>=1都不行,最后查了一些资料说 trim只能去除半角 ...