源码安装zabbix

                         源码安装zabbix
                                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。
 
 
欢迎加入:高级运维工程师之路 598432640
 
  前言:参考网上多篇源码安装的连接,自己把安装过程丢在这里不让后人继续进坑了。在安装zabbix之前,你要有LNMP环境,可以参考的另外一片文档,是关于LNMP的~我是在那个环境基础上搭建出来的(http://www.cnblogs.com/yinzhengjie/p/6126818.html)~建议关闭selinux,不然写规则起来比较麻烦~但iptables建议要开启来!
  以下是我安装zabbix的笔记,建议用一可以联网的测试机将之前的LNMP环境搭好,然后在进行下面的操作,不然你可能会掉坑哟~缺少各种依赖包的情况。
 
一.安装配置zabbix
1.下载zabbix软件包
链接:http://pan.baidu.com/s/1gePtFBd 密码:9ioz
[root@yinzhengjie ~]# yum -y install lrzsz             //利用linux自带的上传命令上传软件包到服务器目录上
 
 
2.安装依赖包,不然配置zabbix的时候会报错
1 [root@yinzhengjie ~]# mkdir -pv /yinzhengjie/ && cd /yinzhengjie
2 [root@yinzhengjie yinzhengjie]# yum -y install mysql-devel net-snmp-devel
 
3.源码安装zabbix
1 [root@yinzhengjie yinzhengjie]# tar -zxvf zabbix-3.0.4.tar.gz
2 [root@yinzhengjie yinzhengjie]# cd zabbix-3.0.4
3 [root@yinzhengjie zabbix-3.0.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
4 [root@yinzhengjie zabbix-3.0.4]# make -j 4 && make install
 
4.创建zabbix用户
1 [root@yinzhengjie ~]# groupadd zabbix
2 [root@yinzhengjie ~]# useradd zabbix -s /sbin/nologin -M -g zabbix
5.导入sql文件
1 [root@yinzhengjie zabbix-3.0.4]# pwd
2 /yinzhengjie/zabbix-3.0.4
3 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/schema.sql
4 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/images.sql
5 [root@yinzhengjie zabbix-3.0.4]#  mysql -uroot -pyinzhengjie zabbix < database/mysql/data.sql
6 [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_server
3 [root@yinzhengjie zabbix]# 
4 [root@yinzhengjie zabbix]# more  /etc/init.d/zabbix_agentd | grep DAEMON=
5 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
6 [root@yinzhengjie zabbix]# 

b>.修改配置文件

  切记要修改这个变量的path,因为咱们是源码安装的,路径并不是默认的,如果不修改的话脚本就会报错哟~具体的可以参考这个Shell脚本,如果你shell不是很好的,可以看一下我的shell学习笔记,相信你看完的shell笔记再来看这个脚本就是小菜一碟了。

1 [root@yinzhengjie zabbix]# more  /etc/init.d/zabbix_server | grep DAEMON=
2 DAEMON=/usr/local/zabbix/sbin/zabbix_server
3 [root@yinzhengjie zabbix]# 
4 [root@yinzhengjie zabbix]# more  /etc/init.d/zabbix_agentd | grep DAEMON=
5 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
6 [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=3000
10 [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 restart
10 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 Errors
11 
12 [root@yinzhengjie conf]# ll     #查看文件的属主属组有问题
13 总用量 12
14 -rw-r--r--. 1 1000 1000 1036 7月  22 2016 maintenance.inc.php
15 -rw-r--r--. 1 root root  415 10月 13 12:56 zabbix.conf.php
16 -rw-r--r--. 1 1000 1000  411 7月  22 2016 zabbix.conf.php.example
17 [root@yinzhengjie conf]# chown -R 1000:1000 zabbix.conf.php     #修改文件的所有者和所属组
18 [root@yinzhengjie conf]# 
19 [root@yinzhengjie conf]# ll
20 总用量 12
21 -rw-r--r--. 1 1000 1000 1036 7月  22 2016 maintenance.inc.php
22 -rw-r--r--. 1 1000 1000  415 10月 13 12:56 zabbix.conf.php
23 -rw-r--r--. 1 1000 1000  411 7月  22 2016 zabbix.conf.php.example
24 [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/fonts
2 [root@yinzhengjie fonts]# mv DejaVuSans.ttf /yinzhengjie/
3 [root@yinzhengjie fonts]# ll
4 总用量 11512
5 -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_NAME
2 define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name
3 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_NAME
6 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 restart
2 Zabbix server terminated.
3 Zabbix server started.
4 [root@yinzhengjie yinzhengjie]#
J>.验证你的服务器是否都是正常的字体了


 
原文地址:https://www.cnblogs.com/yinzhengjie/p/6126943.html