Zabbix监控服务基础

网友投稿 238 2022-09-22

Zabbix监控服务基础

Zabbix监控服务基础

​​1 监控概述​​

​​1.1 监控的目的​​​​1.2 监控的资源类别​​​​1.3 Linux系统常用监控命令​​​​1.4 自动化监控系统软件​​

​​2 Zabbix基础​​

​​2.1 Zabbix简介​​​​2.2 监控服务器​​​​2.3 被监控服务器​​

​​3 Zabbix服务搭建​​

​​3.1 部署运行环境LNMP​​

​​3.1.1 安装nginx服务​​​​3.1.2 修改nginx配置,使其支持PHP​​​​3.1.3 启动服务​​​​3.1.4 安装php-fpm​​​​3.1.5 安装MariaDB​​​​3.1.6 弄个PHP网页​​

​​3.2 部署Zabbix​​

​​3.2.1 安装Zabbix软件​​​​3.2.2 初始化准备​​​​3.2.3 初始化配置​​​​3.2.4 登录管理界面​​

​​3.2.4.1 设置中文环境​​​​3.2.4.2 设置密码​​

​​3.2.5 启动监控服务​​

​​4 搭建被监控主机​​

​​4.1 运行zabbix_agentd服务​​

​​4.1.1 安装软件​​​​4.1.2 修改配置文件​​​​4.1.3 创建用户并启动服务​​

​​4.2 添加监控主机​​

​​4.2.1 创建主机​​​​4.2.2 应用监控模板​​​​4.2.3 查看监控数据​​

​​4.3 删除主机​​

​​5 自定义监控项——监控主机系统的总用户数​​

​​5.1 自定义key​​

​​5.1.1 启用自定义监控项功能​​​​5.1.2 创建监控命令​​​​5.1.3 重启Zabbix_agentd服务​​​​5.1.4 测试创建的监控命令​​

​​5.2 创建监控模板​​

​​5.2.1 创建新模板​​​​5.2.2 创建应用集​​​​5.2.3 创建监控项​​​​5.2.4 配置主机可调用新模板​​​​5.2.5 查看数据​​

​​6 Zabbix报警机制​​​​7 Zabbix自动发现​​​​8 Zabbix主动监视​​​​9 Zabbix监控案例​​

1 监控概述

1.1 监控的目的

报告系统运行状况

每一部分必须同时监控内容包括吞吐量、反应时间、利用率等

提前发现问题

进行服务器新能调整前,知道调整什么找出系统的瓶颈在什么地方

1.2 监控的资源类别

公开数据

Web、FTP、SSH、数据库等应用服务TCP或UDP端口

私有数据

CPU、内存、磁盘、网卡流量等使用信息用户、进程等运行信息

1.3 Linux系统常用监控命令

命令

功能

ps

ps命令用于显示当前进程 (process) 的状态

uptime

显示以下内容:

1.当前时间

2.系统已运行的时间

3.当前在线用户

4.平均负载

5.最近1分钟、5分钟、15分钟系统的负载

free

显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存

swapon -s

按设备显示交换分区的信息

df -h

检查linux服务器的文件系统的磁盘空间占用情况

ifconfig

网卡信息

netstat

显示与IP、TCP、UDP和ICMP协议相关的统计数据

ss

用来获取socket统计信息,它可以显示和netstat类似的内容

traceroute

获取网络通信中,经过的网络设备

iostat

对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况

1.4 自动化监控系统软件

Cacti基于SNMP协议的监控软件,强大的绘图能力。Nagios基于Agent监控,强大的状态检查与报警机制插件很多,自己写监控脚本潜入到Nagios非常方便Zabbix基于多种监控机制,支持分布式监控

2 Zabbix基础

2.1 Zabbix简介

Zabbix是一个高度集成的监控方案可以实现企业级的开源分布式监控Zabbix通过C/S模式采集监控数据Zabbix通过B/S模式实现Web管理

2.2 监控服务器

监控服务器可以通过SNMP或Agent采集数据数据可以写入MySQL、Oracle等数据库中服务器使用LNMP实现web前段的管理

2.3 被监控服务器

被监控主机需要安装Agent常见的网络设备一般支持SNMP

3 Zabbix服务搭建

使用192.168.2.5做监控主机 使用192.168.2.100、2.101、2.102做被监控服务器

3.1 部署运行环境LNMP

3.1.1 安装nginx服务

[root@zabbix05 ~]# setenforce 0[root@zabbix05 ~]# getenforce [root@zabbix05 ~]# firewall-cmd --set-default-zone=trusted [root@zabbix05 ~]# yum -y install gcc pcre-devel zlib-devel[root@zabbix05 ~]# tar -zxf nginx-1.12.2.tar.gz [root@zabbix05 ~]# ls[root@zabbix05 ~]# cd nginx-1.12.2/[root@zabbix05 nginx-1.12.2]# ./configure [root@zabbix05 nginx-1.12.2]# make && make install[root@zabbix05 nginx-1.12.2]# ls /usr/local/nginx/

3.1.2 修改nginx配置,使其支持PHP

[root@zabbix05 nginx-1.12.2]# vim +65 /usr/local/nginx/conf/nginx.conf[root@zabbix05 nginx-1.12.2]# sed -n '65,70p' /usr/local/nginx/conf/nginx.conf location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf;

3.1.3 启动服务

[root@zabbix05 nginx-1.12.2]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@zabbix05 nginx-1.12.2]# /usr/local/nginx/sbin/nginx[root@zabbix05 ~]# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local [root@zabbix05 ~]# chmod +x /etc/rc.local[root@zabbix05 nginx-1.12.2]# netstat -utnlp | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4039/nginx: master [root@zabbix05 nginx-1.12.2]#

3.1.4 安装php-fpm

[root@zabbix05 ~]# yum -y install php-fpm[root@zabbix05 ~]# systemctl start php-fpm[root@zabbix05 ~]# systemctl enable php-fpm.service[root@zabbix05 ~]# netstat -utnlp | grep 9000tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4079/php-fpm:

3.1.5 安装MariaDB

[root@zabbix05 ~]# yum -y install mariadb-server mariadb mariadb-devel[root@zabbix05 ~]# systemctl enable mariadb.service[root@zabbix05 ~]# netstat -utnlp | grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4366/mysqld [root@zabbix05 ~]# ls /var/lib/mysql/aria_log.00000001 ibdata1 ib_logfile1 mysql.sock testaria_log_control ib_logfile0 mysql performance_schema

3.1.6 弄个PHP网页

[root@zabbix05 ~]# vim /usr/local/nginx/html/test.ph[root@zabbix05 ~]# curl 部署Zabbix

3.2.1 安装Zabbix软件

[root@zabbix05 ~]# yum -y install net-snmp-devel curl-devel libevent-devel[root@zabbix05 ~]# ls[root@zabbix05 ~]# tar -zxf zabbix-3.4.4.tar.gz [root@zabbix05 ~]# cd zabbix-3.4.4/[root@zabbix05 zabbix-3.4.4]# ./configure \--enable-server --enable-proxy --enable-agent \--with-mysql=/usr/bin/mysql_config \--with-net-snmp \--with-libcurl[root@zabbix05 zabbix-3.4.4]# make install [root@zabbix05 zabbix-3.4.4]# ls /usr/local/etc/zabbix_agentd.conf zabbix_proxy.conf zabbix_server.confzabbix_agentd.conf.d zabbix_proxy.conf.d zabbix_server.conf.d[root@zabbix05 zabbix-3.4.4]# ls /usr/local/bin/zabbix_get zabbix_sender[root@zabbix05 zabbix-3.4.4]# ls /usr/local/sbin/

3.2.2 初始化准备

创建存储数据库和连接用户

MariaDB [(none)]> create database zabbix character set utf8;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on zabbix.* to zabbix@"localhost" identified by "zabbix";Query OK, 0 rows affected (0.00 sec)[root@zabbix05 ~]# cd zabbix-3.4.4/database/mysql/[root@zabbix05 mysql]# lsdata.sql images.sql schema.sql[root@zabbix05 mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql [root@zabbix05 mysql]# mysql -uzabbix -pzabbix zabbix < images.sql [root@zabbix05 mysql]# mysql -uzabbix -pzabbix zabbix < data.sql[root@zabbix05 mysql]# mysql -uzabbix -pzabbix zabbix -e 'show tables' |wc -l141

上线网页文件

[root@zabbix05 ~]# cd /root/zabbix-3.4.4/frontends/php/[root@zabbix05 php]# ls[root@zabbix05 php]# cp -a * /usr/local/nginx/html[root@zabbix05 php]# ls /usr/local/nginx/html/index.*/usr/local/nginx/html/index.html /usr/local/nginx/html/index.php[root@zabbix05 php]# chmod -R 777 /usr/local/nginx/html/ *[root@zabbix05 php]# ls /usr/local/nginx/html

安装依赖的软件包

[root@zabbix05 ~]# yum -y install php php-mysql php-ldap php-xml php-gd php-mbstring php-bcmath

修改PHP配置文件,满足Zabbix的运行需求

[root@zabbix05 ~]# vim /etc/php.ini 672 post_max_size = 16M394 max_input_time = 300384 max_execution_time = 300878 date.timezone = Asia/Shanghai[root@zabbix05 ~]# systemctl restart php-fpm[root@zabbix05 ~]# netstat -utnlp | grep 9000tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 23620/php-fpm:

修改nginx服务配置文件,满足Zabbix的运行需求

[root@zabbix05 ~]# vim /usr/local/nginx/conf/nginx.conf{ fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;[root@zabbix05 ~]# /usr/local/nginx/sbin/nginx -s stop[root@zabbix05 ~]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@zabbix05 ~]# /usr/local/nginx/sbin/nginx [root@zabbix05 ~]# netstat -utnlp | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23695/nginx:

3.2.3 初始化配置

[root@zabbix05 ~]# cat /usr/local/nginx/html/conf/zabbix.conf.php

3.2.4 登录管理界面

3.2.4.1 设置中文环境

推荐使用英文,中文环境小部分为乱码

3.2.4.2 设置密码

修改密码为admin@123

3.2.5 启动监控服务

修改服务主配置文件

[root@zabbix05 ~]# vim /usr/local/etc/zabbix_server.conf 85 DBHost=localhost //数据库主机 95 DBName=zabbix //数据库名称111 DBUser=zabbix //数据库账户119 DBPassword=zabbix //数据库密码38 LogFile=/tmp/zabbix_server.log //日志

启动监控服务先创建用户,否则无法启动

[root@zabbix05 ~]# useradd zabbix[root@zabbix05 ~]# zabbix_server [root@zabbix05 ~]# netstat -utnlp | grep 10051tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 24089/zabbix_server

4 搭建被监控主机

使用192.168.2.100、2.101、2.102做被监控服务器 以下配置以2.100为例

4.1 运行zabbix_agentd服务

4.1.1 安装软件

[root@host100 ~]# yum -y install gcc pcre-devel[root@host100 ~]# tar -zxf zabbix-3.4.4.tar.gz [root@host100 ~]# cd zabbix-3.4.4/[root@host100 zabbix-3.4.4]# ./configure --enable-agent[root@host100 zabbix-3.4.4]# make install[root@host100 ~]# ls /usr/local/etc/zabbix_agentd.conf zabbix_agentd.conf.d[root@host100 ~]# ls /usr/local/sbin/zabbix_agentd[root@host100 ~]# ls /usr/local/bin/

4.1.2 修改配置文件

[root@host100 ~]# vim /usr/local/etc/zabbix_agentd.conf30 LogFile=/tmp/zabbix_agentd.log //日志文件93 Server=127.0.0.1,192.168.2.5 //允许访问服务地址列表134 ServerActive=192.168.2.5:10051 //监控服务器IP地址端口号

4.1.3 创建用户并启动服务

[root@host100 ~]# useradd zabbix[root@host100 ~]# zabbix_agentd //启动服务[root@host100 ~]# netstat -utnlp | grep 10050tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9038/zabbix_agentd

4.2 添加监控主机

4.2.1 创建主机

4.2.2 应用监控模板

4.2.3 查看监控数据

4.3 删除主机

先选择禁用 然后再删除

5 自定义监控项——监控主机系统的总用户数

编写监控脚本给监控服务器使用 通常是Zabbix中没有想要的模板

5.1 自定义key

5.1.1 启用自定义监控项功能

[root@host100 ~]# vim /usr/local/etc/zabbix_agentd.conf265 Include=/usr/local/etc/zabbix_agentd.conf.d/ *.conf //加载配置文件目录280 UnsafeUserParameters=1 //是否允许自定义key

5.1.2 创建监控命令

[root@host100 ~]# vim /usr/local/etc/zabbix_agentd.conf.d/x.confUserParameter=get_sum_users,wc -l /etc/passwd | awk '{print $1}'

5.1.3 重启Zabbix_agentd服务

[root@host100 ~]# killall -9 zabbix_agentd[root@host100 ~]# killall -9 zabbix_agentdzabbix_agentd: no process found[root@host100 ~]# zabbix_agentd [root@host100 ~]# netstat -utnlp | grep 10050tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9494/zabbix_agentd

5.1.4 测试创建的监控命令

[root@host100 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k get_sum_users21[root@host100 ~]# useradd user1[root@host100 ~]# useradd user2[root@host100 ~]# useradd user3[root@host100 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k get_sum_users24

5.2 创建监控模板

5.2.1 创建新模板

新模板ATMP1

5.2.2 创建应用集

应用集名字users

5.2.3 创建监控项

名get_sys_users 对应命令 get_sum_users

5.2.4 配置主机可调用新模板

监控主机192.168.2.100 时,调用新创建的模板ATMP1

5.2.5 查看数据

[root@host100 ~]# useradd user4

[root@host100 ~]# useradd user5

[root@host100 ~]# useradd user6

6 Zabbix报警机制

7 Zabbix自动发现

8 Zabbix主动监视

9 Zabbix监控案例

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:岳云鹏“揩油”、宋丹丹被骂,今年在综艺上暴缺陷的可不止他们!
下一篇:可能是全网最全的 Java 日志框架适配、冲突解决方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~