zabbix监控部署

zabbix监控部署

常见的监控软件有哪些,各自有什么特点

常见的监控软件有以下几种:

  1. Nagios:Nagios是一款开源的网络监控软件,可以监控网络设备、服务器、服务和应用程序等。它提供了强大的告警和报警功能,并支持自定义插件,可以灵活扩展监控功能。
  2. Zabbix:Zabbix是一款功能强大的网络监控软件,支持多种监控方式,包括网络、服务器、应用程序等。它提供了灵活的配置和自定义能力,可以根据需要定制监控项和告警规则。
  3. Prometheus:Prometheus是一款开源的监控和警报工具,主要用于监控容器化应用和微服务架构。它具有高度可扩展性和灵活的数据模型,可以通过自定义的查询语言来分析和查询监控指标。
  4. Grafana:Grafana是一款开源的数据可视化工具,可以与各种监控系统集成,包括Nagios、Zabbix和Prometheus等。它提供了丰富的图表和仪表盘功能,可以将监控数据以直观的方式展示出来。
  5. Datadog:Datadog是一款云端监控和分析平台,支持多种监控方式,包括基础设施、应用程序、日志和安全等。它提供了实时监控和告警功能,并可以与其他工具集成,如PagerDuty和Slack等。

部署zabbix

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

mariadb旧版本更新

由于之前部署lamp时安装的mariadb版本过低,没有达到部署zabbix的要求需要更新一下版本

先查看当前mariadb版本号

[root@controller ~]# mysql -V
mysql  Ver 15.1 Distrib 10.3.28-MariaDB, for Linux (x86_64) using readline 5.1
[root@controller ~]# 

安装新版本依赖包

[root@controller ~]# yum -y install http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/mariadb-common-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm --allowerasing
[root@controller ~]# 
[root@controller ~]# yum -y install http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/mariadb-connector-c-3.1.11-2.el8_3.x86_64.rpm
[root@controller ~]# 
[root@controller ~]# yum -y install http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/mariadb-errmsg-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
[root@controller ~]# 
[root@controller ~]# wget http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
--2023-09-22 19:03:55--  http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
...
[root@controller ~]# ls
anaconda-ks.cfg  lamp  mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
[root@controller ~]# 
[root@controller ~]# rpm -ivh mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
warning: mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:mariadb-3:10.5.9-1.module_el8.5.0################################# [100%]
[root@controller ~]# 
[root@controller ~]# ls
anaconda-ks.cfg  lamp  mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
[root@controller ~]# 
[root@controller ~]# yum -y install http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/mariadb-server-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64.rpm
[root@controller ~]# 
[root@controller ~]# yum -y install http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/OpenIPMI-devel-2.0.31-3.el8.x86_64.rpm

查看已安装的rpm包,重启mariadb服务

[root@controller ~]# rpm -qa | grep mariadb
mariadb-errmsg-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64
mariadb-server-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64
mariadb-connector-c-config-3.1.11-2.el8_3.noarch
mariadb-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64
mariadb-devel-10.3.28-1.module_el8.3.0+757+d382997d.x86_64
mariadb-common-10.5.9-1.module_el8.5.0+732+7afc82e7.x86_64
mariadb-connector-c-3.1.11-2.el8_3.x86_64
mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64
[root@controller ~]# 
[root@controller ~]# systemctl restart mariadb
[root@controller ~]# 
[root@controller ~]# mysql -V
mysql  Ver 15.1 Distrib 10.5.9-MariaDB, for Linux (x86_64) using  EditLine wrapper
[root@controller ~]# 

重启完后再次查看mysql版本号,我这边的版本已经更新成功

zabbix服务端安装

安装zabbix所需的依赖包

[root@controller ~]# yum -y install net-snmp-devel libevent-devel mysql-devel --allowerasing
Last metadata expiration check: 1:43:23 ago on Fri 22 Sep 2023 06:13:25 PM CST.
Dependencies resolved.
...          
  python3-pyparsing-2.1.10-7.el8.noarch                                rpm-devel-4.14.3-19.el8.x86_64                                 
  systemtap-sdt-devel-4.5-3.el8.x86_64                                
Removed:
  mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64             mariadb-devel-3:10.3.28-1.module_el8.3.0+757+d382997d.x86_64            
Complete!
[root@controller ~]# 

下载并解压zabbix

[root@controller ~]# cd /usr/src/ 
[root@controller src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz
--2023-09-22 19:51:20--  https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz
Resolving cdn.zabbix.com (cdn.zabbix.com)... 104.26.6.148, 172.67.69.4, 104.26.7.148, ...
...
[root@controller src]# ls
apr-1.7.4  apr-util-1.6.3  debug  httpd-2.4.57  kernels  php-8.2.10  zabbix-6.4.6.tar.gz
[root@controller src]# 
[root@controller src]# tar xf zabbix-6.4.6.tar.gz 
[root@controller src]# ls
apr-1.7.4  apr-util-1.6.3  debug  httpd-2.4.57  kernels  php-8.2.10  zabbix-6.4.6  zabbix-6.4.6.tar.gz
[root@controller src]# 

创建zabbix用户和组

[root@controller ~]# groupadd -r zabbix
[root@controller ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
[root@controller ~]# 
[root@controller ~]# id zabbix
uid=993(zabbix) gid=990(zabbix) groups=990(zabbix)
[root@controller ~]# 

配置zabbix数据库

创建数据库和用户并设置密码

[root@controller ~]# mysql -uroot -pRedhat123!                         
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
...
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> 
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'zabbix123!';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> 
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;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> 
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| zabbix             |
+--------------------+
4 rows in set (0.007 sec)
MariaDB [(none)]> 
MariaDB [(none)]> quit;
Bye
[root@controller ~]# 

将数据导入到数据库中

[root@controller ~]# cd /usr/src/zabbix-6.4.6/database/
[root@controller database]# ls
elasticsearch  Makefile.am  Makefile.in  mysql  oracle  postgresql  sqlite3
[root@controller database]# 
[root@controller database]# cd mysql/
[root@controller mysql]# ls
data.sql  double.sql  history_pk_prepare.sql  images.sql  Makefile.am  Makefile.in  schema.sql
[root@controller mysql]# 
[root@controller mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql
[root@controller mysql]# 
[root@controller mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql
[root@controller mysql]# 
[root@controller mysql]# mysql -uzabbix -pzabbix123! --default-character-set=utf8mb4 zabbix < data.sql          
[root@controller mysql]# 

查看数据是否导入成功,成功导入后禁用log_bin_trust_function_creators

[root@controller mysql]# mysql -uroot -pRedhat123!
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
...
MariaDB [(none)]> 
MariaDB [(none)]> show tables from zabbix;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
...
| widget                     |
| widget_field               |
+----------------------------+
186 rows in set (0.001 sec)
MariaDB [(none)]>
MariaDB [(none)]> SET GLOBAL log_bin_trust_function_creators = 0;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> 
MariaDB [(none)]> quit;
Bye
[root@controller mysql]# 

添加环境变量

[root@controller mysql]# export CFLAGS="-std=gnu99"
[root@controller mysql]# echo $CFLAGS
-std=gnu99
[root@controller mysql]# 

编译安装zabbix

[root@controller zabbix-6.4.6]# ./configure --enable-server \
 --enable-agent \
 --with-mysql \
 --with-net-snmp \
 --with-libcurl \
 --with-libxml2 \
 --with-openipmi
checking for a BSD-compatible install... /bin/install -c
...

***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# make install

zabbix服务端配置

修改服务端配置文件,设置zabbix数据库连接密码

[root@controller zabbix-6.4.6]# cd /usr/local/etc/
[root@controller etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d
[root@controller etc]# 
[root@controller etc]# vim /usr/local/etc/zabbix_server.conf
...
# DBPassword=
DBPassword=zabbix123!

启动zabbix_server和zabbix_agentd,查看端口号

[root@controller etc]# zabbix_server
[root@controller etc]# 
[root@controller etc]# zabbix_agentd
[root@controller etc]# 
[root@controller etc]# ss -antl     
State          Recv-Q         Send-Q                  Local Address:Port                    Peer Address:Port         Process         
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                           0.0.0.0:10050                        0.0.0.0:*                            
LISTEN         0              128                           0.0.0.0:10051                        0.0.0.0:*                            
LISTEN         0              80                                  *:3306                               *:*                            
LISTEN         0              128                                 *:80                                 *:*                            
LISTEN         0              128                              [::]:22                              [::]:*                            
[root@controller etc]# 

zabbix服务端web界面安装与配置

zabbix web界面安装前配置

进入zabbix-6.4.6中把ui目录中的所有文件复制到虚拟主机目录中,并设置htdocs目录的属主和属组

[root@controller htdocs]# cd /usr/src/zabbix-6.4.6/
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# \cp -a ui/* /opt/apache/htdocs/www.tanggxin.com/
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# ls /opt/apache/htdocs/www.tanggxin.com/
api_jsonrpc.php     chart6.php           graphs.php                   imgstore.php    local        sysmaps.php
api_scim.php        chart7.php           history.php                  include         locale       templates.php
app                 chart.php            host_discovery.php           index_http.php  map.php      toptriggers.php
assets              composer.json        hostinventoriesoverview.php  index.php       modules      tr_events.php
audio               composer.lock        hostinventories.php          index_sso.php   report2.php  trigger_prototypes.php
browserwarning.php  conf                 host_prototypes.php          items.php       report4.php  triggers.php
chart2.php          data                 httpconf.php                 js              robots.txt   vendor
chart3.php          disc_prototypes.php  httpdetails.php              jsLoader.php    setup.php    widgets
chart4.php          favicon.ico          image.php                    jsrpc.php       sysmap.php   zabbix.php
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# chown -R apache.apache /opt/apache/htdocs/
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# ll /opt/apache/                           
total 36
drwxr-xr-x.  2 root   root    262 Sep 22 17:22 bin
drwxr-xr-x.  2 root   root    167 Sep 22 17:22 build
drwxr-xr-x.  2 root   root     78 Sep 22 17:22 cgi-bin
drwxr-xr-x.  4 root   root     84 Sep 22 18:23 conf
drwxr-xr-x.  3 root   root   4096 Sep 22 17:22 error
drwxr-xr-x.  3 apache apache   48 Sep 22 17:32 htdocs
drwxr-xr-x.  3 root   root   8192 Sep 22 17:22 icons
drwxr-xr-x.  2 root   root   4096 Sep 22 18:14 include
drwxr-xr-x.  2 root   root     58 Sep 22 18:23 logs
drwxr-xr-x.  4 root   root     30 Sep 22 17:22 man
drwxr-xr-x. 14 root   root   8192 Sep 22 17:22 manual
drwxr-xr-x.  2 root   root   4096 Sep 22 17:22 modules
[root@controller zabbix-6.4.6]# 
[root@controller zabbix-6.4.6]# ll /opt/apache/htdocs/                                    
total 8
-rw-r--r--.  1 apache apache   45 Jun 12  2007 index.html
drwxr-xr-x. 14 apache apache 4096 Sep 22 21:16 www.tanggxin.com
[root@controller zabbix-6.4.6]# 

设置conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php

[root@controller zabbix-6.4.6]# cd /opt/apache/htdocs/www.tanggxin.com/
[root@controller www.tanggxin.com]# 
[root@controller www.tanggxin.com]# ll -d conf
drwxr-xr-x 3 apache apache 94 Aug 22 16:10 conf
[root@controller www.tanggxin.com]# 
[root@controller www.tanggxin.com]# chmod 777 conf
[root@controller www.tanggxin.com]# 
[root@controller www.tanggxin.com]# ll -d conf    
drwxrwxrwx 3 apache apache 94 Aug 22 16:10 conf
[root@controller www.tanggxin.com]# 
[root@controller www.tanggxin.com]#  systemctl restart httpd
安装zabbix web界面

修改/etc/hosts文件,添加域名与IP的映射

在浏览器上访问域名,本文设置的域名为www.tanggxin.com,你需要修改成你自己的域名
在这里插入图片描述
在这里插入图片描述
修改/etc/php.ini的配置并重启php-fpm

[root@controller ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@controller ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@controller ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@controller ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@controller ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@controller ~]# 

刷新网页
在这里插入图片描述

注意database host里面要改成127.0.0.1
在这里插入图片描述
在这里插入图片描述
恢复conf目录的权限为755:

[root@controller ~]# cd /opt/apache/htdocs/www.tanggxin.com/
[root@controller www.tanggxin.com]#  
[root@controller www.tanggxin.com]# chmod 755 conf
[root@controller www.tanggxin.com]#  
[root@controller www.tanggxin.com]# ll -d conf
drwxr-xr-x. 3 apache apache 117 Sep 23 00:25 conf
[root@controller www.tanggxin.com]# 

登录zabbix

输入默认用户名Admin和密码zabbix
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这linux不学也罢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值