Zabbix_server初始安装部署
各模块要安装的模块
Server:server+nginx+mysql+php
Agentd:agentd
Proxy:proxy+mysql
1.准备环境:
Zabbix的Web Server基于LNMP环境
1.检查和安装依赖包
yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml php-fpm mariadb myriadb-server
先关闭selinux
①.vi /etc/sysconfig/selinux
②.修改SELINUX=enforcing为SELINUX=disabled
2.下载Zabbix源码包:zabbix-3.0.5.tar.gz至/data/download
tar -zxvf /data/download/zabbix-3.0.5.tar.gz
ls /zabbix安装目录路径/database/mysql/
#可以查看到data.sql images.sql schema.sql
安装mysql (可以参考此博客,写很超级详细):https://blog.csdn.net/qq_15766181/article/details/51962804
3.配置Zabbix Database:
mysql -u root -p'passwd'
CREATE DATABASE zabbix CHARACTER SET utf8; #创建zabbix数据库
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'zabbix'@'127.0.0.1' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
#创建zabbix用户访问zabbix数据库
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;
#给zabbix授权zabbix数据库,注意localhost和127.0.0.1都要写
FLUSH PRIVILEGES;
SHOW GRANTS FOR zabbix@localhost;
SHOW GRANTS FOR zabbix@127.0.0.1;
USE zabbix
source /zabbix安装目录路径/database/mysql/schema.sql
source /zabbix安装目录路径/database/mysql/images.sql
source /zabbix安装目录路径/database/mysql/data.sql
#导入zabbix源码包里的sql进zabbix数据库里,注意顺序
4.安装Zabbix:
1.添加用户
groupadd zabbix
useradd zabbix -g zabbix -s /bin/false
#先创建Linux的zabbix组和用户
2.安装zabbix
cd /zabbix安装目录路径/
编译zabbix
生成Makefile
./configure --prefix=/zabbix安装目录路径 --enable-server --enable-agent --enable-java --with-net-snmp --with-libcurl --with-unixodbc --with-libxml2 --with-openipmi --with-mysql=/usr/bin/mysql_config
如果有此报错,是因为缺少依赖,缺啥安装啥,用yum安装 yum install libxml2-devel
然后继续用./configure --prefix=/zabbix安装目录路径 --enable-server --enable-agent --enable-java --with-net-snmp --with-libcurl --with-unixodbc --with-libxml2 --with-openipmi --with-mysql=/usr/bin/mysql_config安装到成功为止,少啥依赖补啥依赖
configure: error: LIBXML2 library not found
#yuminstall libxml2-devel
configure: error: unixODBC library not found
#yum install unixODBC-devel
configure: error: Invalid OPENIPMI directory - unable to findipmiif.h
#yum install OpenIPMI-devel
configure:error: Unable to find "javac" executable in path
#yum install java*具体什么包没找,直接通配算逑,生产环境可去掉--enable-java选项
configure: error: Curl library not found
# yum install curl-devel
编译安装
make && make install
ln -s /zabbix安装目录路径/sbin/* /usr/local/sbin/
ln -s /zabbix安装目录路径/bin/* /usr/local/bin/ #加入系统默认路径
说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel
3.修改zabbix server配置文件
vi /zabbix安装目录路径/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log #(错误)日志要在/tmp下
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户
DBPassword=123456 #用户密码
AlertScriptsPath=/zabbix安装目录路径/share/zabbix/alertscripts #zabbix的运行scripts目录
:wq
4.修改zabbix agentd配置文件
vi /zabbix安装目录路径/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log #(错误)日志要在/tmp下
AllowRoot=1 #允许使用root身份运行zabbix采集agent信息
EnableRemoteCommands=1 #允许在zabbix server端执行远程命令
LogRemoteCommands=1 #开启远程命令错误日志
StartAgents=3 #agent监听的端口数,主动模式可以为0
Server=x.x.x.x #zabbix server的地址,多个ip使用逗号分隔
ServerActive=x.x.x.x #zabbix主动监控server的ip地址,即agent要主动发送的地址(server)
Hostname=agent_host_name #在server上添加的agent的主机名
RefreshActiveChecks=120 #items表的更新频率
UnsafeUserParameters=1 #启动自定义key
UserParameter=nginx.status[*],/bin/sh /data/services/zabbix/share/nginx_status.sh $1 #自定义监控项编写
:wq
cat /data/services/zabbix/etc/zabbix_server.conf | sed -n '/^[^#]/p'
cat /data/services/zabbix/etc/zabbix_agentd.conf | sed -n '/^[^#]/p' #检查配置
5.添加开机启动脚本:
cp /data/download/zabbix-3.0.5/misc/init.d/fedora/core/zabbix_server\
/etc/rc.d/init.d/zabbix_server #server端
cp /data/download/zabbix-3.0.5/misc/init.d/fedora/core/zabbix_agentd\
/etc/rc.d/init.d/zabbix_agentd #代理端
chmod ug+x /etc/rc.d/init.d/zabbix_* #赋x权限
chkconfig zabbix_server on
chkconfig zabbix_agentd on
6.修改开机脚本中的zabbix的安装目录:
vi /etc/rc.d/init.d/zabbix_server
BASEDIR=/data/services/zabbix
vi /etc/rc.d/init.d/zabbix_agentd
BASEDIR=/data/services/zabbix
5.配置Web Server:
mkdir /data/services/tengine/html/zabbix
cp -r /data/download/zabbix-3.0.5/frontends/php/* /data/services/ tengine /html/zabbix/
#将zabbix的php web页面复制到nginx网页目录下
chown xxx:xxx -R /data/services/ tengine /html/zabbix
#xxx为nginx的运行用户,如root
6.配置php参数:
vi /etc/php.ini
post_max_size =16M
max_execution_time =300
max_input_time =300
date.timezone = "Asia/Shanghai"
Zabbix3.0新增问题:
关于session:
mkdir /var/lib/php/session
chmod -R 777 /var/lib/php/session
不执行上面操作,将不能安装zabbix
关于nginx出现502 upstream sent too big header while reading response header from upstream解决办法:
vim /data/services/tengine/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k; #新增两行
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $Document_Root$fastcgi_script_name;
include fastcgi_params;
}
7.服务开启:
service php-fpm restart
/data/services/zabbix/sbin/zabbix_server -c /data/services/zabbix/etc/zabbix_server.conf
/data/services/zabbix/sbin/zabbix_agentd -c /data/services/zabbix/etc/zabbix_agentd.conf
tail /tmp/zabbix_server.log 或zabbix_agentd.log 查看运行是否成功
/data/services/zabbix/sbin/zabbix_server -c /data/services/zabbix/etc/zabbix_server.conf && \
tail -f /tmp/zabbix_server.log
本地连接数据库问题:
21860:20160919:173435.066 using configuration file: /data/services/zabbix/etc/zabbix_server.conf
21860:20160919:173435.067 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
21860:20160919:173435.067 Database is down. Reconnecting in 10 seconds.
解决方法:
killall zabbix_server
方法一:
vi /data/services/zabbix/etc/zabbix_server.conf
DBSocket=/tmp/mysql.sock
重启
方法二:
mkdir /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
重启
8.安装Web Server:
1.在浏览器中打开:
http://112.74.196.63/zabbix/setup.php
如果为Fail的话回去第6步配置php.ini
如果为Fail就回去第1步如yum -y install php-bcmath,缺什么补什么
注意:第一次操作要下从该页面下载zabbix_setup.php提供的zabbix.conf.php并把它上传到服务器的/data/services/tengine/html/zabbix/conf/目录中
完成:
Zabbix server is running 如果为Fail证明server配置有错
重新操作:
/data/services/zabbix/sbin/zabbix_server
/data/services/zabbix/sbin/zabbix_agentd
tail -f /tmp/zabbix_server.log 或zabbix_agentd.log 查看运行是否成功
Web的登录默认账号密码为:admin/zabbix
外来人要在这里登录
9.更换成中文版:
1.修改web server的配置,看看页面是否打开简体中文选项:
vi /data/services/nginx/html/zabbix/include/locales.inc.php
'zh_CN' => array('name' => _('Chin ese (zh_CN)'), 'display' => true),
2.替换监控图像上系统默认的字体,默认字体不支持中文,图像上会显示乱码
在Windows系统中C:\Windows\Fonts目录中复制一个中文字体文件,(.ttf格式)
将simhei.ttf文件上传到/data/services/nginx/html/zabbix/fonts中
mv DejaVusSans.ttf DejaVusSans.ttf-bak #备份原字体
mv simhei.ttf DejaVusSans.ttf #覆盖
3.在web中设置成中文