Zabbix安装文档
zabbix进程构成
默认情况下zabbix包
含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、 zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。
进程介绍
1、zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等
2、zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
3、zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
4、zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。
5、zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。
6、zabbix_java_gateway
zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。
zabbix安装全过程
1、安装依赖包
yum install –y curl curl-devel freetype freetype-devel fontconfigfontconfig-devel gettext gettext-devel ImageMagick ImageMagick-devel libpnglibpng-devel libxml2 libxml2-devel libxslt libxslt-devel
zlib zlib-devel gd gd-devel libjpeg libjpeg-devel
##################################################
##################################################
2、安装lnmp环境
http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz
lnmp1.2-full.tar.gz
tar zxf lnmp1.2-full.tar.gz
cd lnmp1.2-full
./install.sh
Install MySQL 5.6.23(脚本选择)
Install PHP 5.6.9(脚本选择)
Nginx默认版本是1.8.0
注意:安装完后,更换一份完整的php-fpm.conf 的配置文件,因为脚本中替换的配置文件有坑。
其中/usr/local/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
##############################################
##############################################
3、安装zabbix监控端
(1)安装zabbix依赖包
yum install –y unixODBC unixODBC-devel net-snmp net-snmp-devel libssh2libssh2-devel OpenIPMI OpenIPMI-devel java java-devel openldap openldap-devellibcurl libcurl-devel
openldap*
(2)安装zabbix监控
create zabbix
http://www.zabbix.com/download.php(zabbix官网下载页面)
tar zxf zabbix-3.0.4.tar.gz
cd zabbix-3.0.4
./configure --prefix=/usr/local/zabbix --enable-server--enable-proxy --enable-agent --enable-ipv6--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl--with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java(缺少依赖包,请自行安装)
make && make install
(3)添加zabbix服务对应的端口(可以省略,但是官方建议有)
#cat>>/etc/services<
zabbix-agent 10050/tcp ZabbixAgent
zabbix-agent 10050/udp ZabbixAgent
zabbix-trapper 10051/tcp ZabbixTrapper
zabbix-trapper 10051/udp ZabbixTrapper
EOF
(4)登陆数据库建库
mysql -uroot -p
>ccreate database zabbix default character set=utf8;
>show databases;
>grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
>flush privileges;
为zabbix创建自己的数据库,以便zabbix可以把收集到的数据信息存放在那里调用。
cd /root/scripts/zabbix-3.0.4/database/mysql
mysql -u{username} –p{password} zabbix
mysql –u{username} –p{password} zabbix
mysql –u{username} –p{password} zabbix
(5)修改配置文件
cd /usr/local/zabbix/etc
vim zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
vim zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=172.27.10.53,127.0.0.1
ServerActive=127.0.0.1:10051
Hostname=localhost
(6)在nginx配置文件中建立zabbix虚拟机的配置文件
cd /usr/local/nginx/conf
cd vhost
vim test.conf
server {
listen 8081;
root /data/www/wwwroot/zabbix/;
server_name test.adsfaft.com;
#server_name zabbix.chanjet.com;
access_log logs/zabbix_access.log;
error_log logs/zabbix_error.log;
charset utf8;
location / {
index index.html index.htm index.php;
}
location ~\.php$ {
root /data/www/wwwroot/zabbix;
fastcgi_pass 0.0.0.0:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
fastcgi_connect_timeout 120;
fastcgi_send_timeout 360;
fastcgi_read_timeout360;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
}
cd /usr/local/nginx/etc
vim nginx.conf
server
{
listen 80;
server_namewww.lnmp.org;
index index.htmlindex.htm index.php;
root /home/wwwroot/default;
#error_page 404 /404.html;
include enable-php.conf;
location /nginx_status
{
stub_statuson;
access_log off;
}
location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~.*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/access.log access;
}
(7)创建站点目录并修改数据库的配置
mkdir -p /data/www/wwwroot/zabbix
cp –Rpfv /root/scripts/zabbix-3.0.4/frontends/php/* /data/www/wwwroot/zabbix
chown -R nobody:nobody /data/www/wwwroot/zabbix/
chmod 777 /data/www
cd /data/www/wwwroot/zabbix/conf
vim zabbix.conf.php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] ='localhost';
$DB['PORT'] = '3306';
$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 ='localhost';
$IMAGE_FORMAT_DEFAULT =IMAGE_FORMAT_PNG;
########################################################
#########################################################
(8)zabbix监控的汉化包
cd /data/www/wwwroot/zabbix/fonts
[root@zabbix fonts]# ls
DejaVuSans.ttf STXIHEI.ttf
vim include/defines.inc.php
//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'STXIHEI'); // font file name
//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'STXIHEI');
##################################################################
以上服务器的安装所有操作完成。启动脚本自行拷贝。/usr/local/zabbix/sbin/zabbix_server-c /usr/local/zabbix/etc/zabbix_server.conf
/usr/local/zabbix/sbin/zabbix_agentd
#####################################################################
监控其他的主机
1、第一种方法
通过被监控设备代理(agentd客户端)采集数据
安装软件包
http://www.zabbix.com/download.php(官网下载页)
tar zxf zabbix_agents_3.0.4.linux2_6.amd64.tar.gz
sbin bin conf
cd conf
vim zabbix_agentd.conf
Server=172.27.10.53
ServerActive=172.27.10.53:10051
Hostname=localhost
mv /conf/zabbix_agentd.conf /usr/loca/etc
/usr/local/zabbix/sbin/zabbix_agentd
2、第二种方法
通过snmp协议采集数据
安装软件包
Linux下安装snmp软件包
Yum install net-snmp
同时安装测试snmp服务的两个软件包工具
Yum install net-snmp-utils net-snmp-devel
安装完成后,将snmp服务添加到开机自启动服务列表中。
chkconfig snmpd on