环境依赖:LNMP或者LAMP
简介参考:http://blog.51cto.com/zhang789/1868880
一、准备
我安装的环境及其版本如下:
系统版本 | CentOS Linux release 7.2.1511 (Core) |
数据库 | mysql 5.7.12 |
nginx | 1.10.2 |
php | 5.6.25 |
server_ip | 192.168.68.30 |
lnmp基本的安装参考我的连接:http://www.cnblogs.com/tianfen/articles/6274466.html
特别说明:
-
php的配置参数
打开 php.ini 配置文件,修改以下配置(zabbix 硬性要求)
max_execution_time = 300 memory_limit = 128M #至少128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = PRC #不必须
二、服务端安装配置
2.1.下载安装
cd /mnt/soft
wget https://pilotfiber.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz --no-check-certificate
tar xf zabbix-3.2.3.tar.gz -C /usr/local/src
cd /usr/local/src/zabbix-3.2.3
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql==/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-gettext
make
make install
提示:zabbix server 一般充当两个角色:server、angent (需要监控自己),所以上面的配置参数也同时加上了--enable-agent。
2.2 创建用户
为了安全考虑 zabbix 只使用普通用户运行,但是如果在 root 环境下运行 zabbix,那么 zabbix 将会主动尝试以 zabbix 身份来运行。但是如果你的系统没有名叫
zabbix 的用户,需要创建一个用户
groupadd zabbix
useradd -g zabbix zabbix
2.3初始化数据库
zabbix server 与 proxy 需要数据库,angent 不需要。尤其要注意的是 proxy 只需要导入一个 sql 文件,而 server 一共
要导入 3 个 sql 文件。我当时在搭建 proxy 的时候导入了 3 个 sql,导致出现报错。后来才发现 proxy 只需要导入一
个表结构即可。
我假想你安装好了 MySQL,用户名为 root,密码为 空
cd /mnt/soft/zabbix-3.2.3/database/mysql #此目录为zabbix安装包解压路径,而不是安装路径
mysql -e "create database zabbix default charset utf8;" #创建数据库,别忘记加 default charset utf8,有可能会导致你出现中文乱码问题
mysql zabbix < schema.sql
如果仅仅是初始化 proxy 的数据库,那么够了。如果初始化 server,那么接着导入下面两个 sql
mysql zabbix < images.sql
mysql zabbix < data.sql
2.4配置zabbix
#配置zabbix的数据库连接信息
[root@localhost etc]# pwd /usr/local/zabbix/etc [root@localhost etc]# cat zabbix_server.conf|grep '^DB' DBHost=localhost DBName=zabbix DBUser=root DBPassword=1235678 DBSocket=/dev/shm/mysql.sock DBPort=3306
2.5启动zabbix server
/usr/local/zabbix/sbin/zabbix_server
默认端口:10051
3.zabbix管理网站配置
3.1拷贝前端文件
mkdir /mnt/home/webroot/zabbix -p
cp -rp /mnt/soft/zabbix-3.2.3/frontends/php/* /mnt/home/webroot/zabbix/
3.2 配置虚拟主机
#当然具体的路径和域名等信息,根据自己的需求修改,下面是我的配置
[root@localhost vhosts]# cat zabbix.conf
server {
listen 80;
server_name zabbix.devbei.cn;
access_log /mnt/logs/nginx/zabbix.access.log;
index index.html index.php index.html;
root /mnt/home/webroot/zabbix;
location /
{
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@localhost vhosts]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost vhosts]# /usr/local/nginx/sbin/nginx -s reload
3.3 在线 配置zabbix
浏览器打开: zabbix.devbei.cn
安装步骤,不包括欢迎界面一共5步
- php需求检查
- MySQL配置
- zabbix 服务端详细信息
- zabbix 安装前信息列表
- 安装完成
如果失败了,一般情况是php对zabiix没有写权限
- 登录zabbix
默认用户名:Admin,密码:zabbix
- 如下是zabbix首页
好了,服务器端的基本安装和配置已经完成
三、客户端的安装与配置
比如我的一台服务器:192.168.68.25 需要被监控,此时这台服务器就称为客户端,简单的安装配置如下。
1.下载安装
cd /mnt/soft
wget https://pilotfiber.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz --no-check-certificate
tar xf zabbix-3.2.3.tar.gz -C /usr/local/src
cd /usr/local/src/zabbix-3.2.3
./configure --prefix=/usr/local/zabbix --enable-agent
make
make install
[root@localhost ~]# useradd zabbix -s /sbin/nologin #创建zabbix用户
2.修改zabbix 与服务端相关的配置
[root@localhost conf]# pwd /usr/local/zabbix/etc #/usr/local/zabbix 为安装目录 [root@localhost conf]# cat zabbix_agentd.conf |grep -Ev '^#|^$' LogFile=/tmp/zabbix_agentd.log Server=192.168.68.30 ServerActive=192.168.68.30 Hostname=client_25
解释:其中 Server 和 ServerActive 都指定 zabbixserver 的 IP 地址,不同的是,前者是被动后者是主动。也就是说 Server
这个配置是用来允许 192.168.68.30 这个 ip 来我这取数据。而 serverActive 的 192.168.68.30的意思是,客户端主动提交数据给
服务器端
其他主机安装客户端记得添加 zabbix 用户。
3.3 zabbix 客户端启动
# /usr/local/zabbix/sbin/zabbix_agentd
默认端口 10050