258 lines
9.0 KiB
Markdown
258 lines
9.0 KiB
Markdown
---
|
||
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
|
||
- Zabbix:Zabbix 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
|
||
```
|
||
- 配置
|
||
```c
|
||
#在 /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 配置为 localhost,zabbix 会使用 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
|
||
|
||
# 在被监控服务器 (192.168.1.101) 上安装 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/)
|
||
|