zoukankan      html  css  js  c++  java
  • 源码安装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>.验证你的服务器是否都是正常的字体了


     
  • 相关阅读:
    Which is best in Python: urllib2, PycURL or mechanize?
    Ruby开源项目介绍(1):octopress——像黑客一样写博客
    Truncated incorrect DOUBLE value解决办法
    Qt Quarterly
    Rich Client Platform教程
    iOS6 中如何获得通讯录访问权限
    省赛热身赛之Javabeans
    [置顶] [开心学php100天]第三天:不羁的PHP文件操作
    hdu2033 人见人爱A+B
    [置顶] AAM算法简介
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/6126943.html
Copyright © 2011-2022 走看看