zabbix监控mysql数据库、nginx、Tomcat

文章目录

  • 一.zabbix监控mysql数据库
    • 1.环境规划
    • 2.zabbix-server安装部署(192.168.198.17)
    • 3.zabbix-mysql安装部署(192.168.198.15)
      • 3.1 部署 zabbix 客户端
      • 3.2 服务端验证 zabbix-agent2 的连通性(192.168.198.17)
      • 3.3 Web 页面中添加mysql主机
      • 3.3.1 点击左边菜单栏【配置】中的【主机】,点击【创建主机】
      • 3.4 自定义监控内容(在客户端创建自定义 key:192.168.198.15)
        • 3.4.1 明确需要执行的 linux 命令
        • 3.4.2 创建 zabbix 的监控项配置文件,用于自定义 key
        • 3.4.3 在服务端验证新建的监控项
    • 4. 可对mysql创建的主机根据实际修改
  • 二.zabbix实现对nginx运行状态的监控
    • 1.自定义key实现监控nginx运行状态
      • 1.1 在zabbix-agent服务器中安装并开启nginx
      • 1.2 配置zabbix agent自定义参数
      • 1.3 修改 zabbix 配置文件
      • 1.4 服务端验证
      • 1.5 添加主机及模块等
  • 三.zabbix监控Tomcat
    • 1.实验环境的部署(客户端)
    • 2.服务端的配置
      • 2.1 zabbix监测界面的配置

一.zabbix监控mysql数据库

1.环境规划

hostIP部署
zabbix-server192.168.198.17zabbix服务器搭建
zabbix-mysql192.168.198.15zabbix客户端搭建

2.zabbix-server安装部署(192.168.198.17)

请参考以下配置:https://blog.csdn.net/Katie_ff/article/details/132171211?spm=1001.2014.3001.5501

3.zabbix-mysql安装部署(192.168.198.15)

需要提前在客户端安装mysql服务,具体安装过程如下:

https://blog.csdn.net/Katie_ff/article/details/131640949?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169190624516800192230012%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169190624516800192230012&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-5-131640949-null-null.268v1koosearch&utm_term=mysql&spm=1018.2226.3001.4450

3.1 部署 zabbix 客户端

#关闭防火墙和selinux,更改主机名并运行bash刷新主机名
systemctl disable --now firewalld
setenforce 0hostnamectl set-hostname mysql
su
#服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com13 Aug 13:23:05 ntpdate[76508]: adjust time server 203.107.6.88 offset 0.007140 sec
#客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
2023年 08月 13日 星期日 13:23:23 CST
#设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2
#修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.198.17			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.198.17		#120行,指定 zabbix 服务端的 IP 地址
Hostname=mysql          		#134行,指定当前 zabbix 客户端的主机名
#启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      44454/zabbix_agent2 

3.2 服务端验证 zabbix-agent2 的连通性(192.168.198.17)

#安装 zabbix 主动获取数据的命令
yum install -y zabbix-get				
zabbix_get -s '192.168.198.15' -p 10050 -k 'agent.ping'
1zabbix_get -s '192.168.198.15' -p 10050 -k 'system.hostname'
mysql

3.3 Web 页面中添加mysql主机

3.3.1 点击左边菜单栏【配置】中的【主机】,点击【创建主机】

【主机名称】设置成 mysql
【可见的名称】设置成 MySQL-192.168.198.15
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.198.15

点击添加

再点击上方菜单栏【模板】
【Link new tamplates】搜索 mysql ,选择 【Template DB MySQL by Zabbix agent】
点击 【添加】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b0uxhXJ6-1691927140382)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813140741496.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wuDFLky6-1691927140382)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813140702684.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gftUCYpz-1691927140383)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813140855168.png)]

3.4 自定义监控内容(在客户端创建自定义 key:192.168.198.15)

3.4.1 明确需要执行的 linux 命令

who | wc -l
3

3.4.2 创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
273 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
296 #	Format: UserParameter=<key>,<shell command>
cd /etc/zabbix/zabbix_agent2.d/
vim UserParameter_login.conf
#添加内容
UserParameter=login.user,who|wc -l
systemctl restart zabbix-agent2

3.4.3 在服务端验证新建的监控项

[root@zbx-server opt]# zabbix_get -s '192.168.198.18' -p 10050 -k 'login.user'
3

此处为3是在客户端有三个用户,则监控的是这三个用户

[root@mysql zabbix_agent2.d]# who
root     :0           2023-07-11 00:52 (:0)
root     pts/0        2023-07-11 01:08 (:0)
root     pts/1        2023-08-13 13:21 (192.168.198.1)

4. 可对mysql创建的主机根据实际修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQql1WSk-1691927140383)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813141916664.png)]

根据实际筛选

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w67ilxa2-1691927140384)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813141524063.png)]

二.zabbix实现对nginx运行状态的监控

利用zabbix实现对nginx运行状态的监控 (要么运行 要么不运行)(配置对应的触发器)

1.自定义key实现监控nginx运行状态

1.1 在zabbix-agent服务器中安装并开启nginx

(1)编译安装nginx

#拖入nginx-1.12.2安装包
cd /opt
#解压
tar zxvf nginx-1.12.2.tar.gz -C /opt/
#编译安装
cd nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j2 && make install

注:如执行make -j2 && make install出现了以下错误:

make: *** 没有规则可以创建“default”需要的目标“build”。 停止。

错误原因:这是因为安装nginx 编译时缺少一些依赖造成的

解决办法:安装依赖:

yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel

再次执行:

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j2 && make install

(2)优化路径

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

(3)添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

注:如果systemctl start nginx.service启动不了,检查 “nginx” 用户是否存在于系统中。您可以运行以下命令检查用户是否存在:

id nginx
id: nginx: no such user

如不存在创建用户并重启:

useradd -r nginx
passwd nginx
systemctl restart nginx

(4)修改nginx配置

vim /usr/local/nginx/conf/nginx.conf

在server块里面新增一个location块:

location /nginx_status {stub_status on;access_log off;#allow 192.168.198.0/24; #允许访问的范围#deny all;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jf9pKTMK-1691927140384)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813154849174.png)]

#启动nginx
/usr/local/nginx/sbin/nginx
 netstat -antp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      88019/nginx: master 
#验证nginx状态页面:
[root@nginx nginx-1.12.2]# curl http://192.168.198.15/status
Active connections: 1 
server accepts handled requests1 1 1 
Reading: 0 Writing: 1 Waiting: 0 

1.2 配置zabbix agent自定义参数

vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/*.conf #改为只导入conf文件
#重启agent
systemctl restart zabbix-agent2.service 
#上传zabbix_linux_plugin.sh 脚本到/etc/zabbix/zabbix_agentd.d/并授权执行脚本测试,确认可以从本地获取nginx状态数据:
cd /etc/zabbix/zabbix_agent2.d/
vim zabbix_nginx.sh
#脚本内容如下:
#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scriptsNGINX_PORT=80 
NGINX_COMMAND=$1nginx_ping(){/sbin/pidof nginx |wc -l}nginx_active(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Active/ {print $NF}'}nginx_reading(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Reading/ {print $2}'}nginx_writing(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Writing/ {print $4}'}nginx_waiting(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print $6}'}nginx_accepts(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $1}'}nginx_handled(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $2}'}nginx_requests(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $3}'}case $NGINX_COMMAND inping)nginx_ping;;active)nginx_active;;reading)nginx_reading;;writing)nginx_writing;;waiting)nginx_waiting;;accepts)nginx_accepts;;handled)nginx_handled;;requests)nginx_requests;;*)echo $"USAGE:$0 {ping|active|reading|writing|waiting|accepts|handled|requests}"
esac
#给脚本权限
chmod u+x /etc/zabbix/zabbix_agent2.d/zabbix_nginx.sh
#测试
./zabbix_linux_plugin.sh nginx_status 80 active

1.3 修改 zabbix 配置文件

vim /etc/zabbix/zabbix_agent2.d/userparameter_mysql.conf# 增加
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agent2.d/zabbix_nginx.sh \$1
# 修改完成重启 zabbix-agent
systemctl restart zabbix-agent2.service

1.4 服务端验证

[root@zabbix ~]# zabbix_get -s 192.168.198.15 -k nginx_status[active]
1

1.5 添加主机及模块等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vcB9f4Pj-1691927140385)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813162528579.png)]

三.zabbix监控Tomcat

zabbix通过部署jmx来监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

1.实验环境的部署(客户端)

安装Tomcat服务,具体操作如下:

https://blog.csdn.net/Katie_ff/article/details/131442008?spm=1001.2014.3001.5501

#查看端口是否开启
netstat -natp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      54333/java  
#编辑发布目录
[root@tomcat tomcat]# cd webapps/ROOT/
vim test.jsp
The time is: <%=new java.util.Date() %>cd /usr/local/tomcat/bin
vim catalina.sh
ATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1234"/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 

浏览器端测试:http://192.168.198.15:8080/test.jsp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MWr0jrAN-1691927140385)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813171601697.png)]

2.服务端的配置

安装请参考以下:

https://blog.csdn.net/Katie_ff/article/details/132171211?spm=1001.2014.3001.5501

yum install zabbix-java-gateway.x86_64 -y
cd /etc/zabbix/
vim zabbix_java_gateway.conf 
LISTEN_IP="0.0.0.0"  ##监听地址
LISTEN_PORT=10052  ##监听端口
PID_FILE="/var/run/zabbix/zabbix_java.pid"  ##PID_FILE文件路径
START_POLLERS=5  ##开启的工作线程数量
systemctl start zabbix-java-gateway  ##开启服务
systemctl enable zabbix-java-gateway  ##设置开机自启
vim zabbix_server.conf
JavaGateway=192.168.198.17 ##IP地址
JavaGatewayPort=10052  ##端口
StartJavaPollers=5  ##采集数据的进程数
systemctl restart zabbix-server  重启进程
netstat -antlp
ps ax  ##查看server开启的java进程是否为5个

2.1 zabbix监测界面的配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L8o2lWc8-1691927140385)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813180759476.png)]

配置–主机–tomcat–模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdjWsBzT-1691927140386)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813180815262.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mta0Q2oY-1691927140386)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813180912516.png)]、
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvHrKKxf-1691927359801)(file:///E:\tengxun\QQ\2841168113\Image\C2C_-1199929785__0a0d12fcf44562d395ffe5de04330051_1624944214_retouch_2023081318265405_0_wifi_0.jpg)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/65570.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React如何配置env环境变量

React版本&#xff1a; "react": "^18.2.0" 1、在package.json平级目录下创建.env文件 2、在‘.env’文件里配置环境变量 【1】PUBLIC_URL 描述&#xff1a;编译时文件的base-href 官方描述&#xff1a; // We use PUBLIC_URL environment variable …

LeetCode150道面试经典题--单词规律(简单)

1.题目 给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 2.示例 pattern"abba" s "c…

SPI协议简介

什么是SPI&#xff1f; SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写&#xff0c;是美国摩托罗拉公司&#xff08;Motorola&#xff09;最先推出的一种同步串行传输规范&#xff0c;也是一种单片机外设芯片串行扩展接口&#xff0c;是一种高速…

linux中的ifconfig和ip addr

在linux操作系统中ifconfig和ip addr都是显示网卡配置信息的命令&#xff0c;好多人有疑惑它们有什么区别呢 区别1&#xff1a;对于linux发行的版本不一样 ip addr是对新发行版本的linux使用会比较多&#xff1b;而ifconfig是老版本遇到使用的会比较多。 区别2&#xff1a;显…

stepin设置菜单icon的两种方式——基础积累

最近在看大佬写的stepin后台管理系统&#xff0c;框架是vue3antd3.xvite&#xff0c;下面记录一下&#xff0c;菜单图标的使用方法。 1.第一种方法就是使用antd中的icon图标 书写方式如下&#xff1a; {path: /,name: 首页,redirect: /analysis,meta: {title: 首页,renderMen…

【分布式存储】数据存储和检索~B+树

为什么数据存储结构重要 在存储系统中&#xff0c;其实不管数据是什么样的&#xff0c;归根结底其实都还是取决于数据的底层存储结构&#xff0c;而主要常见的就是数据库索引结构&#xff0c;B树、Redis中跳表、以及LSM、搜索引擎中的倒排索引。本质都是如何利用不用的数据结构…

本地跑Mapreduce程序的相关配置

本地跑MapReduce程序需要配置的代码 为了在本地运行MapReduce程序&#xff0c;需要加如下的东西 在项目中创建一个如图所示的包&#xff1a;org.apache.hadoop.io.nativeio&#xff0c;并在该包下面创建一个名为&#xff1a;NativeIO的类&#xff08;注意&#xff1a;名字不能…

【在一个升序数组中插入一个数仍升序输出】

在一个升序数组中插入一个数仍升序输出 题目举例&#xff1a; 有一个升序数组nums&#xff0c;给一个数字data&#xff0c;将data插入数组nums中仍旧保证nums升序&#xff0c;返回数组中有效元素个数。 比如&#xff1a;nums[100] {1, 2, 3, 5, 6, 7, 8, 9} size 8 data 4 …

第05天 SpringBoot自动配置原理

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a;每天一个知识点 ✨特色专栏&#xff1a…

Azure资源命名和标记决策指南

参考 azure创建虚拟机在虚拟机中选择编辑标签&#xff0c;并添加标记&#xff0c;点击应用 3.到主页中转到所有资源 4. 添加筛选器并应用 5.查看结果&#xff0c;筛选根据给服务器定义的标签筛选出结果。 参考链接: https://learn.microsoft.com/zh-cn/azure/cloud-adoption…

华为云Classroom赋能—TooKit助力开发者上云

对于资深程序员而言&#xff0c;IDE是必不可少的&#xff0c;它好比是剑客手中的宝剑&#xff0c;IDE帮助程序员更快更丝滑的去编程&#xff0c;同时插件就是这把剑上的各种Buff&#xff0c;为宝剑赋能&#xff0c;提供更好的升级打怪体验。 什么是Huawei Cloud Toolkit Huaw…

Docker部署rabbitmq遇到的问题 Stats in management UI are disabled on this node

1. Stats in management UI are disabled on this node #进入rabbitmq容器 docker exec -it {rabbitmq容器名称或者id} /bin/bash#进入容器后&#xff0c;cd到以下路径 cd /etc/rabbitmq/conf.d/#修改 management_agent.disable_metrics_collector false echo management_age…