Zabbix 监控服务安装

2016年6月20日

Zabbix 服务端 安装
准备:两台Linux 机器

Zabbix Server Master 服务端
System : CentOS 6
Server IP : 192.168.11.110

Zabbix Server Client 客户端
System : CentOS 6
Server IP : 192.168.11.120

1-1. 关闭selinux :

 

vim /etc/selinux/config
SELINUX=disabled

 

2-1. 先添加一个zabbix的官方yum源

 

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

 

2-2. 安装依赖组件包

 

yum -y install iksemel libssh2 zabbix-server-mysql zabbix-web-mysql mysql-server zabbix-agent net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils net-snmp

每个组件包具体作用,请直接百度软件包名称即可,这里不再详加说明

这里使用yum源安装的数据库,初始密码为空,一定要记得设置root用户密码!
3-1.登陆数据库
登陆数据库:

mysql -u root -p

选择数据库:

use mysql

 

3-2. 修改数据库密码:

 

update user set password=PASSWORD("asdf123123") where user='root' and host='localhost';

更新权限:

flush privileges;

设置数据库密码 如果是没有设置密码 还可以使用 mysqladmin#
mysqladmin -u root password 'asdf123123'
这里我设置的密码是"asdf123123",你修改成你自己想要设置的密码就行
3-3. 创建zabbix的数据库:
create database zabbix character set utf8 collate utf8_bin;

我这里创建的数据库名字为zabbixdb,你可以自己定义,但是注意后续的操作也要试用你自己的数据库名称
为了支持中文,数据库字符集采用utf8
这里说的支持中文不是指的中文web管理界面的,而是你在定义添加设备的时候可以使用中文名称
3-4. 授权zabbix系统访问Mysql数据库的用户和密码:

 

grant all privileges on zabbix.* to "zabbix"@"localhost" identified by 'asdf123123';

 

3-5. 导入zabbix数据库表结构
/usr/share/doc/zabbix-server-mysql-2.4.3/create/目录内的三个sql文件为安装zabbix软件时自动创建
这三个表,都要导入
导入之前先确定下目录的正确性 zabbix-server-mysql-* 随着时间的推移可能会有变化

mysql -uroot -pasdf123123 zabbix < /usr/share/doc/zabbix-server-mysql-2.4.3/create/schema.sql

mysql -uroot -pasdf123123 zabbix < /usr/share/doc/zabbix-server-mysql-2.4.3/create/images.sql

mysql -uroot -pasdf123123 zabbix < /usr/share/doc/zabbix-server-mysql-2.4.3/create/data.sql

记得每条指令的前面部分


mysql -uroot -pasdf123123 zabbix

mysql 数据库操作主指令
-uroot 以root用户登录
-pasdf123123 这里的asdf123123为你3-2步骤设置的root密码(这里注意,-p和密码之间不要有空格,直接输入密码就行 否则会报错)
zabbix 为3-3步骤创建的数据库名称

 

4-1. 编辑zabbix 服务端 server 的配置文件

 


vim /etc/zabbix/zabbix_server.conf

依次找到DBHost DBName DBUser DBPassword 四个关键字,

修改成你自己上面定义的内容:

DBHost=localhost 3-4 授权的访问主机 localhost
DBName=zabbix 3-3 创建的zabbix的数据库名字
DBUser=zabbix 3-4授权访问数据库的用户名
DBPassword=asdf123123 3-4授权访问数据库的密码

 

4-2. 编辑zabbix 服务端 client 的配置文件

vim /etc/zabbix/zabbix_agentd.conf
依次找到 Server ServerActive UnsafeUserParameters
#添加上服务端 IP 默认也可以
Server=127.0.0.1,192.168.11.110#添加上服务端 IP 默认也可以
Server=127.0.0.1,192.168.11.110

#启用自定义key 作用避免有些自定义key取不到值,可能是目录或者命令没有权限
#例如 zabbix红色弹出报错:zabbix server is not running: the information displayed may not be current
UnsafeUserParameters=1

 

4-3. 编辑PHP环境配置文件 (这里针对的是 apache 的环境):

 


vim /etc/httpd/conf.d/zabbix.conf

对应修改内容如下

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai

其实zabbix都给你设置好了,只有最后一项需要你改动下,去掉前面的#号

时区设置成Asia/Shanghai

贴上一份 Nginx 环境的配置 如果是Nginx环境 请修改 php.ini 将上述的值和php.ini比对修改
主要是 修改 max_input_time 默认60 和 date.timezone 默认为空即跟随系统

server {
listen 80;
server_name zabbix.world-alive.xyz;
index index.html index.htm index.php;
root /usr/share/zabbix;
access_log /usr/local/nginx/logs/zabbix.world-alive.xyz-access.log main;
error_log /usr/local/nginx/logs/zabbix.world-alive.xyz-error.log;
allow 221.226.186.102;
deny all;location ~ \.php$ {
root /usr/share/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include fastcgi/zabbix.world-alive.xyz.conf;
}

location / {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#include fastcgi_params;
#index index.php;
root /usr/share/zabbix;
index index.html index.htm index.php;
}

}

 

 

4-4. 添加固定服务端口,以便于后期监测和防火墙监控端口
编辑/etc/services文件


vim /etc/services

跳到文件末尾(大写G直接跳)追加以下内容:

zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent-tcpzabbix-agent
zabbix-agent 10050/udp # Zabbix Agent zabbix-agent-udpzabbix-trapper
zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper-tcpzabbix-trapper
zabbix-trapper 10051/udp # Zabbix Trapper zabbix-trapper-udp

 

4-5 开启防火墙端口(tcp80,10050,10051 udp10050,10051)
当然你可以直接关闭防火墙,但是强烈建议生产环境一定不要这么做!

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT

service iptables save

4-6. 设置所需服务自动启动:(httpd,mysqld,snmpd,snmptrapd,zabbix-agent,zabbix-server)

 

#设置 httpd 的自启动以及启动服务
chkconfig httpd on ;
service httpd start#设置 mysqld 的自启动以及启动服务
chkconfig mysqld on ;
service httpd start

#设置 snmpd 的自启动以及启动服务
chkconfig snmpd on ;
service mysqld start

#设置 snmptrapd 的自启动以及启动服务
chkconfig snmptrapd on ;
service snmptrapd start

#设置 zabbix-agent 的自启动以及启动服务
chkconfig zabbix-agent on ;
service zabbix-agent start

#设置 zabbix-server 的自启动以及启动服务
chkconfig zabbix-server on;
service zabbix-server start

 

5-1. 接下来就可以配置 web 页面

ServerIP/zabbix

检查系统环境设置,必须全部都为ok,才能继续

配置MySQL数据库信息

Database:MySQL

Database host:127.0.0.1

Database port:use default port

Database name:zabbix

User:zabbix

Password:123456

 

Test connection #测试数据库连接是否正常,显示ok表示通过

Next

 

Next 默认 name 可选项可不填

Next

上述 显示的zabbix.conf.php 和按按照这文本走下来的路径有出入 那是因为这个图是从别的地方复制来的我忘截图了

正确的应该是 /etc/zabbix/web/zabbix.conf.php

Finish 完成安装 登录系统

使用 Web 页面登录 :
ServerIP/zabbix (这是默认的登录方式 如不喜欢可以将 /usr/share/zabbix 目录复制到其他地方作为一个站点配置)
User:Admin
pwd:zabbix
登陆后 首页如下显示:

 

5-2. Zabbix 汉化中文界面

yum 安装的zabbix 在 /usr/share/zabbix

首先 在 window 下找一个中文字体 C:WindowsFonts 或者下载一个 传上去

例如 stxingka.ttf

将其上传至 /usr/share/zabbix/fonts 下   (此为Zabbix 2 3)

如果Zabbix版本为 6.*    字体需放置在  /usr/share/zabbix/assets/fonts

然后修改 配置默认字体的文件 default.inc.php


vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_FONT_NAME', 'graphfont');

define('ZBX_GRAPH_FONT_NAME', 'graphfont');

修改为:

define('ZBX_FONT_NAME', 'simkai');

define('ZBX_GRAPH_FONT_NAME', 'simkai');

 

zabbix 默认中文语言是关闭的需要开启 修改locales.inc.php文件,开启中文选项显示


vim /usr/share/zabbix/include/locales.inc.php

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改为
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

 

保存文件后,到页面刷新就可以找到中文选项了

profile -> language -> 中文

 

 

至此 zabbix 服务端的配置已全部完成 上述同样包括了一个

################################################################################################

接下来 安装Zabbix 客户端其他机器 (Client Zabbix)

1-1. 添加一个zabbix的官方yum源

 

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

1-2. 安装zabbix的客户端

yum install zabbix zabbix-agent

1-3. zabbix的客户端的配置


vim /etc/zabbix/zabbix_agentd.conf

找到
Server=127.0.0.1
添加 Zabbix Server Master IP and Client IP
Server=192.168.11.120,192.168.11.110

找到
Hostname=Zabbix server
修改为本机的 hostname
Hostname=vps.server.com

1-4. 添加固定服务端口,以便于后期监测和防火墙监控端口


编辑/etc/services文件

vim /etc/services

跳到文件末尾(大写G直接跳)追加以下内容:

zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent-tcpzabbix-agent
zabbix-agent 10050/udp # Zabbix Agent zabbix-agent-udpzabbix-trapper

1-5. zabbix的客户端的启动


开启防火墙端口

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT
service iptables save

1-6. zabbix的客户端的启动

service zabbix-agent start

2-1. 登录 Zabbix Server Master 的Zabbix监控页面

在浏览器中输入 192.168.11.110/zabbix
User:Admin
pwd:zabbix

2-2. 将配置的Zabbix机器添加到 Zabbix Server Master 的监控中

Zabbix 的首页 ->组态 ->主机

默认只有最下面一个Zabbix Server Master的本机,并且是没有开启的状态.要不要开启自己决定;其他的是我添加的.
图中红色箭头所示位置 点击 "创建主机"

根据图片上的说明修改
主机名称 Client 客户端zabbix_agentd.conf 中的Hostname
可见的名称 可选项用于完成后该主机的显示名称
群组 在...群组之中 Linux servers
端点代理程式的介面 IP地址 : 192.168.11.120 连接到 IP地址
其他的默认即可 之后有需要在做修改

接下里为这个新添加的主机选择一个模版

模版页面如下

点击选择 将会出现一个弹出页面需要的模版 Template OS Linux

确认 "选择" 之后出现如下页面

确认 "添加" 选择的模版 见到如下页面

连结的模板 名称 Template OS 动作 取消连接
这才表示 真正选择了模版
此时 点击 添加 (红色方框框上的) 完成主机的添加

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注