首页 > 系统相关 >zabbix监控进程和监控日志

zabbix监控进程和监控日志

时间:2022-12-05 12:33:27浏览次数:40  
标签:httpd 00 agent1 script zabbix 监控 日志 root

zabbix监控进程和监控日志


文章目录

  • ​​zabbix监控进程和监控日志​​
  • ​​一、自定义监控进程​​
  • ​​1、新建脚本存放目录​​
  • ​​2、修改zabbix_agentd.conf文件​​
  • ​​3、zabbix server端进行测试脚本​​
  • ​​4、zabbix web平台配置​​
  • ​​5、配置触发器​​
  • ​​6、测试--关闭httpd服务,测试告警信息​​
  • ​​二、自定义监控日志​​
  • ​​1、将log.py上传到/etc/zabbix/script/目录下,然后给执行权限,修改所有者和所属组为zabbix​​
  • ​​2、httpd服务的日志文件在/var/log/httpd/目录下,首先我们需要给这个目录设置一个ACL权限,让zabbix用户有权限去访问该目录​​
  • ​​3、下载python3来执行log.py脚本​​
  • ​​4、修改zabbix_agentd.conf文件,并重启服务​​
  • ​​5、测试脚本​​
  • ​​6、配置监控项​​
  • ​​7、创建触发器​​
  • ​​8、测试,echo Error >> /var/log/httpd/error_log​​

一、自定义监控进程


以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、新建脚本存放目录

[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]#

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

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服务已启动

4、zabbix web平台配置

新建监控项

zabbix监控进程和监控日志_python


zabbix监控进程和监控日志_自定义_02

5、配置触发器

zabbix监控进程和监控日志_测试脚本_03


zabbix监控进程和监控日志_自定义_04


zabbix监控进程和监控日志_测试脚本_05

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

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

zabbix监控进程和监控日志_自定义_06


zabbix监控进程和监控日志_测试脚本_07

二、自定义监控日志


下载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

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]#

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]#

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

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端写入写不进去,所以删除。

6、配置监控项

zabbix监控进程和监控日志_测试脚本_08


zabbix监控进程和监控日志_测试脚本_09

7、创建触发器

zabbix监控进程和监控日志_python_10


zabbix监控进程和监控日志_测试脚本_11


zabbix监控进程和监控日志_python_12

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

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

zabbix监控进程和监控日志_测试脚本_13

zabbix监控进程和监控日志_自定义_14


文章知识点与官方知识档案匹配,可进一步学习相关知识

​​CS入门技能树​​​​Linux入门​​​​初识Linux​​23142



标签:httpd,00,agent1,script,zabbix,监控,日志,root
From: https://blog.51cto.com/u_11529070/5911894

相关文章

  • MYSQL 的审计日志插件
    MYSQL的审计日志插件,可惜目前只是LINUX用:来自McAfee的MySQL插件,为MySQL提供审计功能,重点是安全性和审计要求。该插件可以用作独立的审核解决方案,也......
  • MySQL记录用户操作日志
    MySQL记录用户操作日志有时,我们想追踪某个数据库操作记录,如想找出是谁操作了某个表(比如谁将字段名改了)。二进制日志记录了操作记录,线程号等信息,但是却没有记录用户信息,因此......
  • 在sqlserver2008中收缩日志文件
    —先备份数据库(含日志文件)usemyhisgobackupdatabasemyhistodisk=’d:\myhis_rzbak’go—设为简单恢复模式use[master]goalterdatabasemyhissetr......
  • 监控库中存储和函数变更记录存储
    监控库中存储和函数变更记录存储1、建表createtableetl_logselectnow()etl_time,routine_typeobject_type,specific_nameobject_na......
  • log4j2日志输出配置和使用-要点攻略
    本文较为详细地讲述log4j2的日志输出使用原理、如何配置,并结合具体的代码,给出程序调用的方法。为了讲清原理,本文从log4j的日志级别开讲,然后讲述主配置文件log4j2.xml的配置......
  • zabbix-server性能优化
    zabbix性能低下的表现1.    zabbix队列有太多被延迟的item,可以通过administration-queue查看2.    zabbix绘图中经常出现断图,一些item没有数据3.    带有noda......
  • 常用命令_主机状态监控
    top =p#只显示某个进程的信息 -d#设置刷新时间 -c#显示产生进程的完整命令 -n#指定刷新次数 -b#以非交互全屏模式运行,top-b-n3>/tmp/test.log -i#......
  • MySQL 日志管理
    一日志分类日志种类 作用错误日志 记录MySQL服务器启动、关闭及运行错误等信息事务日志 1、redolog重做日志2、undolog回滚日志查询日志 记录所有的sql慢查询日志 记......
  • 【Azure 服务总线】查看Service Bus中消息多次发送的日志信息,消息是否被重复消费
    问题描述使用ServiceBus,发现消息被重复消费。如果要查看某一条消息的具体消费情况,需要那些消息的属性呢? 问题解答使用AzureServiceBus,当消费发送到服务端后,就会生......
  • 【2022-12-04】Prometheus+Grafana监控平台部署文档
    一、环境准备1.准备两台虚拟机\或者购买云服务器2.虚拟机硬件要求2.1内存不得少于4G,否则项目启动会有报错2.2CPU2核2G2.3硬盘至少20G3.系统镜像 ......