源码安装zabbix
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
欢迎加入:高级运维工程师之路 598432640
前言:参考网上多篇源码安装的连接,自己把安装过程丢在这里不让后人继续进坑了。在安装zabbix之前,你要有LNMP环境,可以参考的另外一片文档, 是关于LNMP的~我是在那个环境基础上搭建出来的()~建议关闭selinux,不然写规则起来比较麻烦~但iptables建议要开启来!
以下是我安装zabbix的笔记,建议用一可以联网的测试机将之前的LNMP环境搭好,然后在进行下面的操作,不然你可能会掉坑哟~缺少各种依赖包的情况。
一.安装配置zabbix
1.下载zabbix软件包
链接: 密码:9ioz
[root@yinzhengjie ~]# yum -y install lrzsz //利用linux自带的上传命令上传软件包到服务器目录上
2.安装依赖包,不然配置zabbix的时候会报错
1 [root@yinzhengjie ~]# mkdir -pv /yinzhengjie/ && cd /yinzhengjie2 [root@yinzhengjie yinzhengjie]# yum -y install mysql-devel net-snmp-devel
3.源码安装zabbix
1 [root@yinzhengjie yinzhengjie]# tar -zxvf zabbix-3.0.4.tar.gz2 [root@yinzhengjie yinzhengjie]# cd zabbix-3.0.43 [root@yinzhengjie zabbix-3.0.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml24 [root@yinzhengjie zabbix-3.0.4]# make -j 4 && make install
4.创建zabbix用户
1 [root@yinzhengjie ~]# groupadd zabbix2 [root@yinzhengjie ~]# useradd zabbix -s /sbin/nologin -M -g zabbix
5.导入sql文件
1 [root@yinzhengjie zabbix-3.0.4]# pwd2 /yinzhengjie/zabbix-3.0.43 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/schema.sql4 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/images.sql5 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/data.sql6 [root@yinzhengjie zabbix-3.0.4]#
6.创建zabbix项目目录便于管理
a>.将数据拷贝到指定的项目目录中
1 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_server | grep DAEMON=2 DAEMON=/usr/local/zabbix/sbin/zabbix_server3 [root@yinzhengjie zabbix]# 4 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_agentd | grep DAEMON=5 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd6 [root@yinzhengjie zabbix]#
b>.修改配置文件
切记要修改这个变量的path,因为咱们是源码安装的,路径并不是默认的,如果不修改的话脚本就会报错哟~具体的可以参考这个Shell脚本,如果你shell不是很好的,可以看一下我的,相信你看完的shell笔记再来看这个脚本就是小菜一碟了。
1 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_server | grep DAEMON=2 DAEMON=/usr/local/zabbix/sbin/zabbix_server3 [root@yinzhengjie zabbix]# 4 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_agentd | grep DAEMON=5 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd6 [root@yinzhengjie zabbix]#
7.编辑zabbix访问web的配置文件(配置文件处理要写明端口外,还有启用fastcgi,因为nginx本身是不支持php的,如果不开启这个功能的话就无法支持zabbix的php界面了哟)
1 [root@yinzhengjie ~]# mkdir -pv /usr/local/nginx/conf/zabbix && cd /usr/local/nginx/conf/zabbix 2 [root@yinzhengjie zabbix]# 3 [root@yinzhengjie zabbix]# more zabbix.conf 4 server { 5 listen 8080; 6 server_name web; 7 access_log /yinzhengjie/data/zabbix/log/zabbix.access.log main; 8 index index.html index.php index.html; 9 root /yinzhengjie/data/zabbix/web;10 location /{11 try_files $uri $uri/ /index.php?$args;12 }13 location ~ ^(.+.php)(.*)$ {14 fastcgi_split_path_info ^(.+.php)(.*)$;15 include fastcgi.conf;16 fastcgi_pass 127.0.0.1:9000;17 fastcgi_index index.php;18 fastcgi_param PATH_INFO $fastcgi_path_info;19 }20 }21 [root@yinzhengjie zabbix]#
8.编辑zabbix的配置文件
修改相应的参数,注意,这些用户名密码都是在搭建LNMP时设置的,这个密码要和数据库的密码要一直,数据库如果不是本机的话就得写一下数据的IP哟!
1 [root@yinzhengjie zabbix]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep -v ^# | grep -v "^$" 2 LogFile=/tmp/zabbix_server.log 3 PidFile=/tmp/zabbix_server.pid 4 DBHost=localhost 5 DBName=zabbix 6 DBUser=zabbix 7 DBPassword=zabbix 8 Timeout=4 9 LogSlowQueries=300010 [root@yinzhengjie zabbix]#
9..编辑nginx的配置文件(基本上是架空了nginx配置文件,而是用include模块已经写好的调用配置文件)
1 [root@yinzhengjie ~]# cd /usr/local/nginx/conf/ 2 [root@yinzhengjie conf]# 3 [root@yinzhengjie conf]# more nginx.conf 4 user nginx; 5 worker_processes 1; 6 7 #error_log logs/error.log warning; 8 #error_log logs/error.log notice; 9 #error_log logs/error.log info;10 pid logs/nginx.pid;11 12 events {13 worker_connections 1024;14 }15 http {16 include mime.types;17 default_type application/octet-stream;18 log_format main '$remote_addr - $remote_user [$time_local] "$request" '19 '$status $body_bytes_sent "$http_referer" '20 '"$http_user_agent" "$http_x_forwarded_for"';21 access_log logs/access.log main;22 sendfile on;23 keepalive_timeout 65;24 gzip on;25 include zabbix/*.conf;26 }27 [root@yinzhengjie conf]#
10.重启相关服务
1 [root@yinzhengjie ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 2 [root@yinzhengjie ~]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 3 [root@yinzhengjie ~]# service zabbix_server start 4 Zabbix server started. 5 [root@yinzhengjie ~]# service zabbix_agentd start 6 Zabbix agent started. 7 [root@yinzhengjie ~]# 8 9 [root@yinzhengjie ~]# service nginx restart10 Stop Nginx... [OK]11 Starting Nginx... [OK]12 [root@yinzhengjie ~]#
好了,以上就是zabbix服务器已经部署完毕了,下面我们要开始页面安装zabbix了
二.前端安装配置
1.首先登陆服务器地址(服务器地址+nginx监听zabbix的端口号,listen 8080;)
http://172.16.96.66:8080
2.输入账号密码,这个是在zabbix配置文件中定义的
3.直接下一步
4.点击下一步
5.需要下载文件到服务器
a>.第一步,点击图中连接进行下载,然后上传到服务器并修改相应的权限;
1 [root@yinzhengjie ~]# cd /yinzhengjie/data/zabbix/web/conf/ 2 [root@yinzhengjie conf]# ll 3 总用量 8 4 -rw-r--r--. 1 1000 1000 1036 7月 22 2016 maintenance.inc.php 5 -rw-r--r--. 1 1000 1000 411 7月 22 2016 zabbix.conf.php.example 6 [root@yinzhengjie conf]# rz 7 rz waiting to receive. 8 zmodem trl+C ȡ 9 10 100% 415 bytes 415 bytes/s 00:00:01 0 Errors11 12 [root@yinzhengjie conf]# ll #查看文件的属主属组有问题13 总用量 1214 -rw-r--r--. 1 1000 1000 1036 7月 22 2016 maintenance.inc.php15 -rw-r--r--. 1 root root 415 10月 13 12:56 zabbix.conf.php16 -rw-r--r--. 1 1000 1000 411 7月 22 2016 zabbix.conf.php.example17 [root@yinzhengjie conf]# chown -R 1000:1000 zabbix.conf.php #修改文件的所有者和所属组18 [root@yinzhengjie conf]# 19 [root@yinzhengjie conf]# ll20 总用量 1221 -rw-r--r--. 1 1000 1000 1036 7月 22 2016 maintenance.inc.php22 -rw-r--r--. 1 1000 1000 415 10月 13 12:56 zabbix.conf.php23 -rw-r--r--. 1 1000 1000 411 7月 22 2016 zabbix.conf.php.example24 [root@yinzhengjie conf]#
b>.等第一步完成之后,再来到web界面点击右键刷新即可;
6.输入账号密码,默认用户名是“admin”,默认密码是“zabbix”,当然这些都是可以修改的。
7.登陆zabbix主界面
三.防坑小技巧
安装zabbix其实很简单,就算是刚刚入门的童鞋,给他2个小时也是很轻松的安装完成的,不是吗?zabbix的难点在于其配置的繁琐,虽然有服务器,网络设备的模板,但是和我们实际业务需求可能偏差很大,因此,需要我们自定义写脚本之类的。
zabbix的功能强大到什么程度,需要你用了才知道,用好它对你的运维生涯必定是好处大大的哟~,后期如果有时间,我很跟大家一起分享一些用zabbix的小技巧。
1.配置中文界面
a>.点击zabbix用户图标
b>.选择我们的母语
c>.点击更新
d>.查看效果
e>.如果你出现了以下的情况,不要慌,我已经找到了解决方案。继续往下看,如果你的服务器中文显示正常就可以不用往下看了
f>.怎么处理这个问题呢?其实很简单,我们可以把windows系统自带的字体放到服务器上替换一下就好使了。找到windows楷体的字体文件:
g>.更换zabbix服务器字体文件
1 [root@yinzhengjie ~]# cd /yinzhengjie/data/zabbix/web/fonts2 [root@yinzhengjie fonts]# mv DejaVuSans.ttf /yinzhengjie/3 [root@yinzhengjie fonts]# ll4 总用量 115125 -rw-r--r--. 1 root root 11785184 7月 17 06:28 simkai.ttf #用Linux自带的rz命令上传刚刚的文件即可~6 [root@bogon fonts]#
h>.修改配置文件,之后切换到末行模式:执行 %s/DejaVuSans/simkai
1 [root@yinzhengjie ~]# more /yinzhengjie/data/zabbix/web/include/defines.inc.php | grep ZBX_GRAPH_FONT_NAME2 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name3 define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name #此行为新增行4 [root@yinzhengjie ~]# 5 [root@yinzhengjie ~]# more /yinzhengjie/data/zabbix/web/include/defines.inc.php | grep ZBX_FONT_NAME6 define('ZBX_FONT_NAME', 'simkai');7 define('ZBX_FONT_NAME', 'simsun'); #此行为新增行;8 [root@yinzhengjie ~]#
I>.重启zabbix服务
1 [root@yinzhengjie yinzhengjie]# /etc/init.d/zabbix_server restart2 Zabbix server terminated.3 Zabbix server started.4 [root@yinzhengjie yinzhengjie]#
J>.验证你的服务器是否都是正常的字体了