1.环境:基于lnmp
2.zabbix安装部署
Zabbix Server编译安装
安装依赖
[root@lnmp ~]# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
创建zabbix用户
[root@lnmp ~]# useradd -s /sbin/nologin zabbix
下载zabbix源码包
[root@lnmp ~]# cd /usr/local/src/
[root@lnmp src]# ls
zabbix-4.0.27.tar.gz
解压编译
[root@lnmp src]# tar -zxvf zabbix-4.0.27.tar.gz
[root@lnmp zabbix-4.0.27]# mv /usr/local/src/zabbix-4.0.27/* /usr/local/zabbix
[root@lnmp zabbix]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
[root@lnmp zabbix]# make && make install
选项说明
-
--prefix指定安装目录
-
--enable-server安装zabbix server
-
--enable-agent安装zabbix agent
-
--with-mysql用mysql来存储
环境变量设置:
[root@lnmp zabbix]# tail -3 /etc/profile
unset i
unset -f pathmunge
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
[root@lnmp zabbix]# source /etc/profile
[root@lnmp zabbix]#
查看版本:
[root@lnmp zabbix]# zabbix_server --version
zabbix_server (Zabbix) 4.0.27
登录数据库创建zabbix用户和导入zabbix库
Mysql数据库
[root@lnmp zabbix]# mysql -uroot -p000000
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
##创建zabbix库和设置格式
mysql> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; ##刷新权限
Query OK, 0 rows affected (0.00 sec)
mysql> set names utf8; ##设置字符集
Query OK, 0 rows affected (0.00 sec)
mysql> use zabbix; ##切换到zabbix库中
Database changed
把源码/usr/local/zabbix/database/mysql/安装路径下的三个sql文件导入数据库:
source /usr/local/zabbix/database/mysql/schema.sql
source /usr/local/zabbix/database/mysql/data.sql
source /usr/local/zabbix/database/mysql/images.sql
编辑zabbix server的配置(记得先备份配置文件)
vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
Timeout=30
LogSlowQueries=3000
DBSocket=/tmp/mysql.sock
AlertScriptsPath=/scripts ##定义告警脚本存放路径
修改zabbix目录的权限
[root@lnmp zabbix]# mkdir /scripts
[root@lnmp ~]# chown zabbix:zabbix -R /usr/local/zabbix/
配置启动脚本:
[root@lnmp local]# cp zabbix/misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@lnmp local]# cp zabbix/misc/init.d/fedora/core/zabbix_agent /etc/init.d/
[root@lnmp local]# vi /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix #zabbix安装目录
[root@lnmp local]# vi /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix #zabbix安装目录
查看zabbix服务是否启动
[root@lnmp local]# ps -ef | grep zabbix
zabbix 12762 1 0 23:04 ? 00:00:00 zabbix_server
root 12784 2725 0 23:17 pts/0 00:00:00 grep --color=auto zabbix
Zabbix Web的安装
配置nginx虚拟主机:
[root@lnmp local]# cat /usr/local/nginx/conf/vhost/zabbix.com.conf
server
{
listen 80;
server_name zabbix.com www.zabbix.com;
index index.html index.htm index.php;
root /data/nginx/zabbix;
location ~ [^/]\.php(/|$)
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/nginx/zabbix$fastcgi_script_name;
include fastcgi_params;
}
}
创建zabbix web 的文件目录
[root@lnmp local]# mkdir /data/nginx/zabbix -p
[root@lnmp local]# /etc/init.d/nginx reload
Reload nginx... done
[root@lnmp local]#
把源码安装包路径下的文件cp到zabbix web文件目录当中
[root@lnmp ~]# cp -rf /usr/local/zabbix/frontends/php/* /data/nginx/zabbix/
注:这里zabbix初始化设置会有报错,需要提前修改php.ini的配置文件;
[root@lnmp ~]# vi /usr/local/php/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
重启php-fpm服务
[root@lnmp ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@lnmp ~]#
[root@localhost zabbix]# cat /data/nginx/zabbix/conf/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Zabbix Server';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
启动zabbix
[root@lnmp ~]# /etc/init.d/zabbix_agentd start
[root@lnmp ~]# /etc/init.d/zabbix_agentd status
[root@lnmp ~]# /etc/init.d/zabbix_server start
[root@lnmp ~]# /etc/init.d/zabbix_server status
Zabbix web界面部署:
到浏览器通过http://192.168.200.10/setup.php 配置zabbix的初始化设置;
测试登录:
登陆账户是Admin
密码是zabbix
页面部署完毕,查看端口号
[root@lnmp ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2206/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12981/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1124/sshd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 13046/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 13222/zabbix_server
tcp6 0 0 :::22 :::* LISTEN 1124/sshd