www.colben.cn/content/post/zabbix3.10-install.md
2021-11-14 15:50:55 +08:00

289 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "CentOS7 安装 Zabbix3.10"
date: 2019-10-30T13:27:44+08:00
lastmod: 2019-10-30T13:27:44+08:00
tags: ["zabbix"]
categories: ["zabbix"]
---
# 环境
- 操作系统CentOS7 (192.168.1.100)
- 数据库MariaDB 10.1.26
- Web后台PHP 5.6.31
- Web引擎Nginx 1.12.1
- ZabbixZabbix 3.0.10
- 部署方式:单机部署
# 安装操作系统 CentOS
- 推荐 RHEL6 及以上的 x64 版本。
- 这里最小安装 CentOS7 ,外网不可达服务器可能需要配置本地 yum 源。
# 安装数据库 MariaDB
- MariaDB/MySQL 的常见版本。
- 本地如果已存在可用的 MariaDB/MySQL 数据库,则可跳过此步。
- 安装方式很多,这里直接用官方编译好的二进制通用包:
- CentOS7 下载 [mariadb-10.1.26-linux-glibc_214-x86_64.tar.gz](http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.1.26/bintar-linux-glibc_214-x86_64/mariadb-10.1.26-linux-glibc_214-x86_64.tar.gz)
- CentOS6 下载 [mariadb-10.1.26-linux-x86_64.tar.gz](http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.1.26/bintar-linux-x86_64/mariadb-10.1.26-linux-x86_64.tar.gz)
- 安装 [参考我的另一篇博客](https://my.oschina.net/colben/blog/361465)
# 安装 PHP
- PHP-5.5 及以上版本。
- 本地如果已存在可用的 PHP ,则可跳过此步。
- 安装方法很多,这里使用官方源码编译:
- 下载 [php-5.6.31.tar.bz2](http://cn2.php.net/distributions/php-5.6.31.tar.bz2)
- 安装
```bash
# 解压
tar jxf php-5.6.31.tar.bz2 -C /root/
cd /root/php-5.6.31/
# 安装依赖包
yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
# 创建安装目录
mkdir /opt/php-5.6.31/etc/ -p
ln -s /opt/php-5.6.31 /opt/php
# 检查编译环境
./configure --prefix=/opt/php \
--with-config-file-path=/opt/php/etc --with-bz2 --with-curl \
--enable-ftp --enable-sockets --disable-ipv6 --with-gd \
--with-jpeg-dir=/usr/local --with-png-dir=/usr/local \
--with-freetype-dir=/usr/local --enable-gd-native-ttf \
--with-iconv-dir=/usr/local --enable-mbstring --enable-calendar \
--with-gettext --with-libxml-dir=/usr/local --with-zlib \
--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd \
--enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
# 编译安装
make
make install
```
- 配置
```ini
# 复制配置文件
cp php.ini-production /opt/php/etc/php.ini
cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
# 修改 /opt/php/etc/php.ini 的下面选项
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone PRC
always_populate_raw_post_data = -1
# php 与 mysql 同机可指定 mysql 本地套接字
pdo_mysql.default_socket = /tmp/mysql.sock #指定数据库本地套接字地址
mysqli.default_socket = /tmp/mysql.sock #指定数据库本地套接字地址
# 修改 /opt/php/etc/php-fpm.conf 的下面选项
user = nobody
group = nobody
# php 与 nginx 同机可指定 php 套接字,供 nginx 配置使用
#listen = 127.0.0.1:9000
listen = /dev/shm/phpfpm.sock
listen.owner = nobody
listen.group = nobody
listen.mode = 0660
```
- 启动
```bash
/opt/php/sbin/php-fpm
```
# 安装 Nginx
- Nginx 的常见版本。
- 本地如果已存在可用的 Nginx ,则无需再次安装,直接在配置文件中添加配置即可。
- 安装方式很多,这里使用官方源码编译:
- 下载 [nginx-1.12.1.tar.gz](http://nginx.org/download/nginx-1.12.1.tar.gz)
- 安装
```bash
# 解压
tar zxf nginx-1.12.1.tar.gz -C /root/
cd /root/nginx-1.12.1/
# 安装依赖包
yum install pcre pcre-devel openssl openssl-devel
# 创建安装目录
mkdir /opt/nginx-1.12.1
ln -s /opt/nginx-1.12.1 /opt/nginx
# 检查编译环境
./configure --prefix=/opt/nginx \
--with-http_ssl_module --with-pcre \
--with-http_stub_status_module
# 编译安装
make
make install
```
- 配置
```
# 在 /opt/nginx/conf/nginx.conf 中配置 php
server {
listen 80;
index index.php index.html index.html;
root html;
location /zabbix/ {
access_log /var/log/nginx/zabbix-access.log main;
index index.php index.html index.html;
}
location ~ ^/zabbix/.+\.php$ {
access_log /var/log/nginx/zabbix-access.log login;
index index.php index.html index.html;
expires -1s;
include fastcgi_params;
try_files $uri =404;
fastcgi_pass unix:/dev/shm/phpfpm.sock;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
break;
}
}
```
- 启动
```bash
/opt/nginx/sbin/nginx
```
# 安装 Zabbix Server
- 推荐 Zabbix 3.0 及以上版本。
- 安装方式很多,这里使用官方源码编译:
- 下载 [zabbix-3.0.10.tar.gz](https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.10/zabbix-3.0.10.tar.gz)
- 安装
```bash
# 解压
tar zxf zabbix-3.0.10.tar.gz -C /root/
cd /root/zabbix-3.0.10/
# 安装依赖包
yum install snmp-devel curl-devel
# 创建安装目录
mkdir /opt/zabbix-server-3.0.10
ln -s /opt/zabbix-server-3.0.10 /opt/zabbix-server
# 检查编译环境
./configure --prefix=/opt/zabbix-server/ --enable-server \
--enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
# 编译安装
make
make install
```
- 创建数据库
```bash
mysql -uroot -p12345678
mysql> create database db_zbx default charset utf8;
mysql> create user zbx@localhost identified by 'zbx_pass';
mysql> grant all on db_zbx.* to zbx@localhost;
mysql> grant reload on *.* to zbx@localhost;
mysql> flush privileges;
mysql> quit;
mysql -uzbx -pzbx_pass db_zbx < database/mysql/schema.sql
mysql -uzbx -pzbx_pass db_zbx < database/mysql/images.sql
mysql -uzbx -pzbx_pass db_zbx < database/mysql/date.sql
```
- 配置
```ini
# 在 /opt/zabbix-server/etc/zabbix_server.conf 中,修改如下配置
DBHost=localhost
DBName=db_zbx
DBUser=zbx
DBPassword=zbx_pass
# 这里的数据库是 mysql 且 DBHost 配置为 localhostzabbix 会使用 mysql.sock 连接 mysql
DBSocket=/tmp/mysql.sock
DBPort=3306
AllowRoot=1
# 在 /opt/zabbix-server/etc/zabbix_agentd.conf 中,修改如下配置
EnableRemoteCommands=1
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=127.0.0.1
AllowRoot=1
```
- 启动
```bash
/opt/zabbix-server/sbin/zabbix_server
/opt/zabbix-server/sbin/zabbix_agentd
```
# 配置 zabbix 管理网站
- 部署前端文件
```bash
cp -ar frontends/php /opt/nginx/html/zabbix
```
- 浏览器打开 http://192.168.1.100/zabbix/
- 根据界面提示配置数据库及相关 zabbix 信息,生成配置文件 /opt/nginx/html/zabbix/conf/zabbix.conf.php
- 修改 /opt/nginx/html/zabbix/conf/zabbix.conf.php
```php
#zabbix server 与 nginx、php、mysql 同机时,可注释 DB['SERVER'] 和 DB['PORT'] 项,使 php 通过 mysql.sock 与本地 MariaDB 通信
#$DB['SERVER'] = 'localhost';
#$DB['PORT'] = '0';
```
# 登陆 zabbix 管理网站
- 浏览器输入 http://192.168.1.100/zabbix/
- 默认用户名: admin ,默认密码: zabbix
# 安装 Zabbix Agent
- 推荐 Zabbix 3.0 及以上版本。
- 安装方式很多,这里使用官方源码编译:
- 下载 [zabbix-3.0.10.tar.gz](https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.10/zabbix-3.0.10.tar.gz) (同 server)
- 安装
```bash
# 解压
tar zxf zabbix-3.0.10.tar.gz -C /root/
cd /root/zabbix-3.0.10/
# 创建安装目录
mkdir /opt/zabbix
# 检查编译环境
./configure --prefix=/opt/zabbix --enable-agent
# 编译安装
make
make install
```
- 配置
```ini
# 在 /opt/zabbix/etc/zabbix-agentd.conf 中,修改如下配置
EnableRemoteCommands=1
Server=192.168.1.100
ServerActive=192.168.1.100
Hostname=192.168.1.101
AllowRoot=1
```
- 启动
```bash
/opt/zabbix/sbin/zabbix_agentd
```
# 管理界面增加监控主机
- 登陆 zabbix 管理界面 http://192.168.1.100/zabbix
- 在 “配置-主机” 下点击 “新增主机”, 名称填写被监控服务器中 /opt/zabbix/etc/zabbix_agentd.conf 中 Hostname 项(192.168.1.101)
- 在主机 (192.168.1.101) 下添加需要的监控项、触发器及图形,即可完成该服务器的监控。
# 参考
- [https://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/](https://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/)