监控服务zabbix部署

监控服务zabbix部署

1. zabbix介绍

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent

zabbix server可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Ubuntu,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

2. zabbix特点

zabbix的主要特点:

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能

Zabbix主要功能:

  • CPU负荷
  • 内存使用
  • 磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视

3. zabbix配置文件

zabbix配置文件有两种:

  • 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
  • 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
  • zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)

服务器端配置文件zabbix_server.conf常用配置参数:

参数作用
LogFile设置服务端日志文件存放路径
ListenIP设置服务端监听IP
ListenPort设置服务端监听的端口号
PidFile设置服务端进程号文件存放路径
DBHost指定zabbix的数据库服务器IP
DBName指定zabbix使用的数据库库名
DBUser指定zabbix数据库登录用户
DBPassword指定zabbix数据库登录密码
DBPort指定zabbix数据库端口号
User设置zabbix以什么用户的身份运行
AlertScriptsPath设置告警脚本存放路径
ExternalScripts外部脚本存放路径

客户端配置文件zabbix_agentd.conf常用配置参数:

参数作用
Server指定zabbix服务器的IP或域名
ServerActive指定zabbix服务器的IP或域名
Hostname指定本机的主机名,此项必须与web界面配置项一致
UnsafeUserParameters是否启用自定义监控项,可选值为{1 | 0}
UserParameter指定自定义监控脚本参数
LogFile设置客户端日志文件存放路径

Zabbix监控配置流程的步骤如下:

  1. 安装Zabbix服务端:首先,需要在一台服务器上安装Zabbix服务器。
  2. 配置数据库:Zabbix需要使用数据库来存储监控数据和配置信息。在安装数据库服务器后,创建一个新的数据库,并为Zabbix配置一个数据库用户。
  3. 安装Zabbix代理:如果你要监控本地服务器上的资源,例如CPU、内存等,可以安装Zabbix代理。代理程序将收集本地服务器的监控数据并将其发送到Zabbix服务端。
  4. 配置主机:在Zabbix服务端上,配置要监控的主机。这包括指定主机的名称、IP地址和所属的组。
  5. 创建监控项:为每个要监控的主机创建监控项。监控项定义了要监控的资源类型,例如CPU利用率、磁盘空间等。你可以使用Zabbix提供的预定义监控项,或者创建自定义监控项。
  6. 创建触发器:触发器用于定义当监控项的值达到特定条件时触发的操作。例如,当CPU利用率超过某个阈值时,可以触发一个警报。
  7. 设置报警操作:定义当触发器触发时要执行的操作,例如发送电子邮件、发送短信或运行脚本等。
  8. 配置图形和报表:Zabbix提供了创建图形和报表的功能,可以将监控数据可视化。
  9. 监控和故障排除:启动Zabbix监控,并监视监控数据。如果发现任何问题,可以查看日志文件和报警信息来进行故障排除。

4. 部署zabbix

环境说明:

环境要安装的应用
服务器lamp架构 zabbix server zabbix agent
客户端zabbix agent

因为zabbix是用php语言开发的,所以必须先部署lamp架构,使其能够支持运行php网页

4.1 zabbix服务端安装
#提前布置好lamp架构

#在zabbix官网下载最新的源码包
[root@localhost ]# cd /usr/src
[root@localhost src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz

//安装依赖包
[root@localhost ~]# yum -y install net-snmp-devel libevent-devel mysql-devel http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/OpenIPMI-devel-2.0.31-3.el8.x86_64.rpm


#创建用户zabbix
[root@localhost ]# useradd -r -M -s /sbin/nologin zabbix

#解压zabbix-6.4.6.tar.gz
[root@localhost src]# tar xf zabbix-6.4.6.tar.gz 

#创建和配置数据库和用户
[root@localhost zabbix-6.4.6]# mysql -uroot -p
Enter password: 12345678
#创建数据库zabbix
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
#创建用户zabbix只允许在本机登录,设置密码12345678
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by '12345678'
#授权所有权限在zabbix数据库中所有的表用zabbix用户在本机登录
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> SET GLOBAL log_bin_trust_function_creators = 1;

#刷新一下权限
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit;
Bye

#将数据导入数据库
[root@localhost src]# cd zabbix-6.4.6
[root@localhost zabbix-6.4.6]# cd database/
[root@localhost database]# cd mysql/
[root@localhost mysql]# mysql -uzabbix -p12345678 zabbix < schema.sql
[root@localhost mysql]# mysql -uzabbix -p12345678 zabbix < images.sql 
[root@localhost mysql]# mysql -uzabbix -p12345678 --default-character-set=utf8mb4 zabbix < data.sql

#成功导入schema后,可以禁用 log_bin_trust_function_creators:
[root@localhost zabbix-6.4.6]# mysql -uroot -p
Enter password: 
MariaDB [(none)]> SET GLOBAL log_bin_trust_function_creators = 0;
MariaDB [(none)]> flush privileges;

#配置源
构建Zabbix服务器,Zabbix代理或Zabbix代理需要带有GNU扩展的C99。可以通过设置 CFLAGS=“-std=gnu99”来显式指定此版本:
[root@localhost mysql]# export CFLAGS="-std=gnu99"
[root@localhost mysql]# echo $CFLAGS
-std=gnu99

#配置源码包zabbix 的Configure文件
[root@localhost zabbix-6.4.6]# ./configure --enable-server --enable-agent --with-mysql  --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
//编译安装
[root@localhost zabbix-6.4.6]# make install
4.2 zabbix服务端配置
[root@localhost ~]# ls /usr/local/etc/
zabbix_agentd.conf    zabbix_server.conf
zabbix_agentd.conf.d  zabbix_server.conf.d

//修改服务端配置文件
//设置数据库信息
[root@localhost ~]# vim /usr/local/etc/zabbix_server.conf
......
DBPassword=12345678       //设置zabbix数据库连接密码

//启动zabbix_server和zabbix_agentd
[root@localhost zabbix-6.4.6]# zabbix_server
[root@localhost zabbix-6.4.6]# zabbix_agentd
[root@localhost zabbix-6.4.6]# ss -natl
State        Recv-Q       Send-Q             Local Address:Port              Peer Address:Port      
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                      0.0.0.0:22                     0.0.0.0:*         
LISTEN       0            128                         [::]:10050                     [::]:*         
LISTEN       0            128                         [::]:10051                     [::]:*         
LISTEN       0            80                             *:3306                         *:*         
LISTEN       0            128                            *:80                           *:*         
LISTEN       0            128                         [::]:22                        [::]:*     


#设置zabbix_server,zabbix_agentd开机自启
[root@localhost ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/zabbix_server.service
[root@localhost ~]# vim /usr/lib/systemd/system/zabbix_.service.service
[root@localhost ~]# cat /usr/lib/systemd/system/zabbix_server.service
[Unit]
Description=zabbix server daemon
After=network.target 
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_server
ExecStop=pkill zabbix_server
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target


[root@localhost ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/zabbix_agentd.service
[root@localhost ~]# vim /usr/lib/systemd/system/zabbix_agentd.service
[root@localhost ~]# cat /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agentd 
After=network.target 
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=pkill zabbix_agentd
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable --now zabbix_server
[root@localhost ~]# systemctl enable --now zabbix_agentd
//恢复zabbix/conf目录的权限为755
[root@localhost ~]# chmod 755 /usr/local/apache/htdocs/mc.com/conf
4.3 zabbix服务端web界面安装与配置

zabbix web界面安装前配置

[root@localhost ~]# cd /usr/src/zabbix-6.4.6
[root@localhost ~]# cp -a ui/* /usr/local/apache/htdocs/mc.com/
//设置zabbix/conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php
[root@localhost ~]# chmod 777 /usr/local/apache/htdocs/mc.com/conf
//修改/etc/php.ini的配置并重启php-fpm
[root@localhost zabbix-6.4.6]# chmod 777 /usr/local/apache/htdocs/mc.com/conf
[root@localhost zabbix-6.4.6]#  sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@localhost zabbix-6.4.6]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@localhost zabbix-6.4.6]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@localhost zabbix-6.4.6]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini

[root@localhost zabbix-6.4.6]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

// 在浏览器上访问域名进行安装

登录zabbix用户名:Admin 密码:zabbix
在这里插入图片描述
在这里插入图片描述

//恢复zabbix/conf目录的权限为755
[root@localhost src]# 755  /usr/local/apache/htdocs/mc.com/conf
4.4zabbix客户端安装配置
监控 linux 主机
#关闭防火墙
[root@node01 ~]# systemctl disable --now firewalld
[root@node01 ~]# setenforce 0
#创建zabbix用户账户
[root@node01 ~]# useradd -r -M -s /sbin/nologin zabbix
#下载zabbix源码包 并 解压
[root@node01 ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz
[root@node01 ~]# tar xf zabbix-6.4.6.tar.gz
[root@node01 ~]# ls
anaconda-ks.cfg  zabbix-6.4.6  zabbix-6.4.6.tar.gz
#安装依赖包
[root@node01 ~]# yum -y install gcc gcc-c++ make pcre-devel
#配置Configure文件
[root@node01 zabbix-6.4.6]# ./configure --enable-agent
***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
#编译安装
[root@node01 zabbix-6.4.6]# make install
#设置zabbix——agentd服务开机自启
[root@node01 zabbix-6.4.6]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/zabbix_agentd.service
[root@node01 zabbix-6.4.6]# vim /usr/lib/systemd/system/zabbix_agentd.service
[root@node01 zabbix-6.4.6]# cat /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agentd 
After=network.target 

[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=pkill zabbix_agentd
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
#更改 /usr/local/etc/zabbix_agentd.conf 配置文件
[root@node01 ~]# cd /usr/local/etc/
[root@node01 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@node01 etc]# vim zabbix_agentd.conf
Server=192.168.200.39
ServerActive=192.168.200.39
Hostname=192.168.200.22

[root@node01 etc]# systemctl daemon-reload
[root@node01 etc]# systemctl enable --now zabbix_agentd
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix_agentd.service → /usr/lib/systemd/system/zabbix_agentd.service.
[root@node01 etc]# ss -antl
State         Recv-Q        Send-Q               Local Address:Port                  Peer Address:Port        
LISTEN        0             128                        0.0.0.0:22                         0.0.0.0:*           
LISTEN        0             128                        0.0.0.0:10050                      0.0.0.0:*           
LISTEN        0             128                              *:80                               *:*           
LISTEN        0             128                           [::]:22                            [::]:*     

4.5zabbix客户web界面安装与配置

配置主机/主机组
在这里插入图片描述
创建监控项 (手动添加 被动模式)
点击创建监控项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加触发器(trigger)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#手动触发监控并验证
在文件中添加新内容
[root@node01 ~]# echo 'xixihaha' >> /tmp/test

在这里插入图片描述

监控Windows主机

关闭防火墙
在这里插入图片描述
在zabbix官网下载windows版本zabbix

下载地址:https://www.zabbix.com/cn/download_agents?version=6.4&release=6.4.6&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging=Archive&show_legacy=0

在这里插入图片描述

修改配置文件

下载完成解压到C盘zabbix_agent目录后,修改C:\zabbix_agent\conf\zabbix_agentd.conf 配置文件

# zabbix-server端的ip地址
Server=192.168.200.39
ServerActive=192.168.200.39
Hostname=node02Windows

安装zabbix服务

#以管理员身份运行命令提示符cmd
C:\Windows\System32>cd C:\zabbix_agent\bin
C:\zabbix_agent\bin>zabbix_agentd.exe -i -c C:\zabbix_agent\conf\zabbix_agentd.conf
zabbix_agentd.exe [6024]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [6024]: event source [Zabbix Agent] installed successfully

服务中启动zabbix服务
在这里插入图片描述
web界面配置

创建配置主机组
在这里插入图片描述
创建配置主机
在这里插入图片描述
创建监控项 Templates (模版添加 被动模式)
在这里插入图片描述
监控成功
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Zabbix监控 MySQL 数据库,需要进行以下步骤: 1. 安装 Zabbix Agent 在要监控的 MySQL 服务器上安装 Zabbix Agent。你可以从 Zabbix 官网下载适合你系统的安装包,或使用包管理器进行安装。 2. 安装 MySQL 监控插件 在 Zabbix Server 上安装 MySQL 监控插件。你可以从 Zabbix 官网下载适合你版本的插件。 3. 配置 MySQL 监控插件 在 Zabbix Server 上编辑插件配置文件(mysql.conf),配置 MySQL 数据库的连接信息和监控项。 例如: ``` UserParameter=mysql.ping, mysqladmin -uroot ping | grep -c alive UserParameter=mysql.version, mysql -V UserParameter=mysql.status[*], mysqladmin -uroot -p$1 status $2 | awk '{print $$NF}' UserParameter=mysql.size[*], mysql -uroot -p$1 -e 'SELECT table_schema "$2", Round(Sum(data_length + index_length) / 1024 / 1024, 2) "Size (MB)" FROM information_schema.tables WHERE table_schema="$2";' | grep -v Size UserParameter=mysql.qps, mysqladmin -uroot -p$1 status | cut -f9 -d':' | awk '{print $$1}' ``` 这些配置项允许 Zabbix Agent 在远程 MySQL 服务器上执行命令并获取数据。 4. 添加 MySQL 监控项 在 Zabbix Server 上添加 MySQL 数据库监控项。你可以通过 Zabbix Web 界面添加监控项,包括: - MySQL 数据库版本 - MySQL 数据库状态 - MySQL 数据库大小 - MySQL 数据库 QPS(每秒查询数) 5. 创建 MySQL 监控模板 在 Zabbix Web 界面上创建 MySQL 监控模板,并将监控项添加到模板中。 6. 将 MySQL 主机关联到监控模板 将要监控的 MySQL 主机关联到 MySQL 监控模板。 完成以上步骤后,你就可以在 Zabbix Web 界面上查看 MySQL 数据库的监控数据了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值