centos 8 源码安装zabbix

本文详细介绍如何从零开始安装配置Zabbix监控系统,包括下载安装包、安装依赖软件、创建用户和组、编译安装Zabbix、配置数据库及Apache服务器等步骤。

安装zabbix

  • 下载zabbix

https://www.zabbix.com/download_sources

image-20210513181515258

  • 用xftp传到本地(略)
  • 安装依赖
[root@z1 ~]# yum install -y libxml2 libxml2-devel  net-snmp-devel libevent-devel
  • 创建用户和组
[root@z1 zabbix]# groupadd -r zabbix
[root@z1 zabbix]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
  • 编译安装zabbix
[root@z1 ~]# ls
mysql-5.7.33-el7-x86_64.tar.gz  proxychains-ng  zabbix-5.2.6.tar.gz
[root@z1 ~]# tar xf zabbix-5.2.6.tar.gz -C /usr/local/
[root@z1 ~]# cd /usr/local/
[root@z1 local]# ls
apache  apr-util  etc    include  lib64    mysql     sbin   src
apr     bin       games  lib      libexec  password  share  zabbix-5.2.6
[root@z1 local]# mv zabbix-5.2.6/ zabbix
[root@z1 local]# cd zabbix/
[root@z1 zabbix]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
[root@z1 zabbix]# make install
  • 数据库配置
[root@z1 zabbix]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database zabbix character set utf8 collate utf8_bin; #
Query OK, 1 row affected (0.01 sec)

mysql>  grant all privileges on zabbix.* to zabbix@192.168.80.21 identified by 'zabbbix123!'; #一定要写该主机的ip
mysql>  grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123!';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges; #刷新权限
Query OK, 0 rows affected (0.00 sec)
[root@z1 zabbix]# cd /usr/local/zabbix/database/mysql/
[root@z1 mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@z1 mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@z1 mysql]# mysql -uzabbix -pzabbix123! zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@z1 mysql]# vim /usr/local/etc/zabbix_server.conf
118  DBPassword=zabbix123!                #118行改成这样

  • apche配置
[root@z1 mysql]# mkdir /usr/local/apache/htdocs/zabbix
[root@z1 zabbix]# cd /usr/local/zabbix
[root@z1 zabbix]# ls
aclocal.m4  compile        config.sub    depcomp     Makefile     missing  ui
AUTHORS     conf           configure     include     Makefile.am  NEWS
bin         config.guess   configure.ac  INSTALL     Makefile.in  README
build       config.log     COPYING       install-sh  man          sass
ChangeLog   config.status  database      m4          misc         src
[root@z1 zabbix]# cp -a ui /usr/local/apache/htdocs/zabbix/
[root@z1 zabbix]# cd /usr/local/apache/htdocs/zabbix/
[root@z1 zabbix]# ls
ui
[root@z1 zabbix]# mv ui/* .
[root@z1 zabbix]# ls
actionconf.php       host_discovery.php           overview.php
api_jsonrpc.php      hostgroups.php               queue.php
app                  hostinventoriesoverview.php  report2.php
assets               hostinventories.php          report4.php
audio                host_prototypes.php          robots.txt
auditacts.php        hosts.php                    screenconf.php
browserwarning.php   httpconf.php                 screenedit.php
chart2.php           httpdetails.php              screen.import.php
chart3.php           image.php                    screens.php
chart4.php           imgstore.php                 services.php
chart5.php           include                      setup.php
chart6.php           index_http.php               slideconf.php
chart7.php           index.php                    slides.php
chart.php            index_sso.php                srv_status.php
composer.json        items.php                    sysmap.php
composer.lock        js                           sysmaps.php
conf                 jsLoader.php                 templates.php
conf.import.php      jsrpc.php                    toptriggers.php
correlation.php      local                        tr_events.php
discoveryconf.php    locale                       trigger_prototypes.php
disc_prototypes.php  maintenance.php              triggers.php
favicon.ico          map.import.php               ui
graphs.php           map.php                      vendor
history.php          modules                      zabbix.php
[root@z1 zabbix]# rm -rf ui
[root@z1 zabbix]# vim /etc/httpd24/extra/vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/usr/local/apache/htdocs/zabbix" #路径一定要对
    ServerName www.zhanglei.host
    ProxyRequests Off    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1 #路径一定要对
    <Directory "/usr/local/apache/htdocs/zabbix"> #路径一定要对
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>
[root@z1 zabbix]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
  • php配置
[root@z1 zabbix]# vim /etc/httpd24/extra/vhosts.conf
[root@z1 zabbix]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@z1 zabbix]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@z1 zabbix]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@z1 zabbix]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@z1 zabbix]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
  • 重启所有服务
[root@z1 zabbix]# systemctl restart php-fpm.service 
[root@z1 zabbix]# apachectl restart
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.80.21. Set the 'ServerName' directive globally to suppress this message
[root@z1 zabbix]# service mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@z1 zabbix]# 
  • 启动zabbix
[root@z1 zabbix]# zabbix_server
[root@z1 zabbix]# zabbix_agentd
[root@z1 zabbix]# ss -antl
State    Recv-Q   Send-Q     Local Address:Port      Peer Address:Port   Process   
LISTEN   0        128              0.0.0.0:111            0.0.0.0:*                
LISTEN   0        32         192.168.122.1:53             0.0.0.0:*                
LISTEN   0        128              0.0.0.0:22             0.0.0.0:*                
LISTEN   0        5              127.0.0.1:631            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:*  #agentd端口           
LISTEN   0        80                     *:3306                 *:*                
LISTEN   0        128                 [::]:111               [::]:*                
LISTEN   0        128                    *:80                   *:*                
LISTEN   0        128                 [::]:22                [::]:*                
LISTEN   0        5                  [::1]:631               [::]:*                
LISTEN   0        128                    *:9000                 *:*                
[root@z1 zabbix]# 

  • 关闭防火墙
[root@z1 zabbix]# setenforce 0
setenforce: SELinux is disabled
[root@z1 zabbix]# systemctl restart firewalld

image-20210513184859779

image-20210513184911960

image-20210513185003208

image-20210513185027121

image-20210513185550786

image-20210513185610229

image-20210513185626759

image-20210513185704685

image-20210513185721111

### 源码安装 Zabbix Agent 的步骤 要在 CentOS 8 上通过源码安装 Zabbix Agent,需要完成以下步骤: #### 安装依赖包 在开始编译之前,确保系统上安装了必要的开发工具和库。运行以下命令来安装这些依赖项: ```bash sudo dnf groupinstall "Development Tools" -y sudo dnf install -y gcc make autoconf automake libtool pkgconfig openssl-devel pcre2-devel ``` #### 下载 Zabbix 源代码 从 Zabbix 官方网站下载最新的稳定版本的源代码包。以 Zabbix 6.0 LTS 为例: ```bash cd /usr/src/ sudo wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.41.tar.gz sudo tar -zxvf zabbix-6.0.41.tar.gz cd zabbix-6.0.41 ``` #### 编译并安装 Zabbix Agent 进入 `zabbix-6.0.41` 目录后,配置并编译 Zabbix Agent: ```bash ./configure --enable-agent --with-openssl --with-pcre2 make sudo make install ``` 上述命令中,`--enable-agent` 表示仅启用 Zabbix Agent,`--with-openssl` 和 `--with-pcre2` 分别用于支持 SSL 和正则表达式功能。 #### 创建用户和目录 Zabbix Agent 默认以非特权用户身份运行。创建专用用户和目录: ```bash sudo useradd --system --home /usr/local/etc/zabbix --shell /sbin/nologin --comment "Zabbix Monitoring System" zabbix sudo mkdir -p /usr/local/etc/zabbix sudo chown zabbix:zabbix /usr/local/etc/zabbix ``` #### 配置 Zabbix Agent 编辑 `/usr/local/etc/zabbix/zabbix_agentd.conf` 文件,设置必要的参数: ```bash sudo nano /usr/local/etc/zabbix/zabbix_agentd.conf ``` 主要配置项包括: ```ini LogFile=/tmp/zabbix_agentd.log Server=192.168.1.100 # 替换为 Zabbix Server 的 IP 地址 ServerActive=192.168.1.100 Hostname=CentOS8-ZabbixAgent EnableRemoteCommands=1 LogType=file ``` #### 启动 Zabbix Agent 手动启动 Zabbix Agent 并检查日志文件是否生成: ```bash /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix/zabbix_agentd.conf tail -f /tmp/zabbix_agentd.log ``` #### 设置开机自启 创建 systemd 服务文件以便开机时自动启动 Zabbix Agent: ```bash sudo nano /etc/systemd/system/zabbix-agent.service ``` 添加以下内容到服务文件中: ```ini [Unit] Description=Zabbix Agent After=network.target [Service] Type=forking ExecStart=/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix/zabbix_agentd.conf User=zabbix Group=zabbix Restart=on-failure [Install] WantedBy=multi-user.target ``` 保存并启用服务: ```bash sudo systemctl daemon-reload sudo systemctl enable zabbix-agent sudo systemctl start zabbix-agent ``` #### 验证安装 确认 Zabbix Agent 是否正在运行: ```bash ps aux | grep zabbix_agentd ``` 此外,确保防火墙允许 Zabbix Agent 使用的端口(默认是 `10050/tcp`): ```bash sudo firewall-cmd --permanent --add-port=10050/tcp sudo firewall-cmd --reload ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值