• Linux-监控与安全运维之zabbix


    zabbix:

    Zabbix是一个开源分布式监控平台,包含诸多监控功能,用于构建一个符合企业级的监控解决方案。
    软件由开源社区提供开发和维护,遵循GPL协议,可以自由传播和使用,但开发团队提供收费的技术支持服务。

    官方网站: http://www.zabbix.com
    官方manual: http://www.zabbix.com/documentat ... llation_from_source
    一、Zabbix的安装
    安装前准备工作

    环境:Mysql+apache+php
    Php编译参数要加上--enable-sockets ,否则Zabbix无法正常安装
    并且安装

    1. # yum install php-mbstring  php-gd*
    2. # yum install php-bcmath
    复制代码

    安装fping
    由于 zabbix使用 fping替代了 ping作为 icmp的工具,所以要安装 fping。

    1. cd /usr/local/src 
    2. wget http://fping.sourceforge.net/download/fping.tar.gz tar zxvf fping.tar.gz   
    3. chmod a+x *   
    4. ./configure  
    5. make  
    6. make install
    复制代码

    默认安装到/usr/local/sbin/fping ,些处我们要链接到

    1. ln -s /usr/sbin/fping   
    2. //fping 只有ROOT权限才能运行。所以此处设定权限 
    3. chmod  a+s /usr/local/sbin/fping  
    4. chmod  a+s /usr/sbin/fping
    复制代码

    Zabbix安装

    1、下载
    #wget http://jaist.dl.sourceforge.net/ ... abbix-1.8.11.tar.gz

    2、导入数据库
    //先建立数据库zabbix

    1. #mysql -uroot -p
    2. #myslq> create database zabbix character utf8;
    3. #mysql> quit;
    4. //导入 zabbix库
    5. # tar zxvf zabbix-1.8.11.tar.gz
    6. # cd zabbix-1.8.11
    7. # mysql -u root -p --default-character-set=utf8 -D zabbix <create/schema/mysql.sql
    8. # mysql -u root -p --default-character-set=utf8 -D zabbix <create/data/data.sql
    9. # mysql -u root -p --default-character-set=utf8 -D zabbix <create/data/images_mysql.sql
    复制代码

    3、安装需要的包

    1. # yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
    2. # yum –y install net-snmp*
    复制代码

    4、安装zabbix

    1. # ./configure --with-mysql --with-net-snmp --enable-server --enable-agent    --prefix=/usr/local/zabbix
    2. # make
    3. # make install
    4. # vi /ect/services
    5. zabbix-agent    10050/tcp #Zabbix Agent
    6. zabbix-agent    10050/udp #Zabbix Agent
    7. zabbix-trapper  10051/tcp #Zabbix Trapper
    8. zabbix-trapper  10051/udp #Zabbix Trapper
    复制代码

    5、添加配置文件

    1. # mkdir -p /etc/zabbix
    2. # cp ./misc/conf/* /etc/zabbix
    3. # chown -R zabbix:zabbix /etc/zabbix/
    复制代码

    6、修改Server配置文件

    1. # vim /etc/zabbix/zabbix_server.conf
    2. DBUser=root
    3. DBPassword= sqlpassword
    4. LogFile=/usr/local/zabbix/zabbix_server.log
    复制代码

    7、复制 zabbix 到访问目录

    1. # mkdir /usr/local/apache/htdocs/zabbix
    2. # cp  -Rpf frontends/php/* /usr/local/apache/htdocs/zabbix/
    复制代码

    8、复制启动文件

    1. # cp misc/init.d/redhat/zabbix_server_ctl  /etc/init.d/zabbix_server
    2. # cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/zabbix_agentd
    3. 在编译配置中如果 --prefix=不是文档中所描述的, 需要在上面两个文件中改动项目“BASEDIR=“设置为新安装目录。
    4. # vi /etc/init.d/zabbix_agentd
    5. #base zabbix dir
    6. BASEDIR=/usr/local/zabbix
    复制代码

    9、开机自启动

    1. #echo '/etc/init.d/zabbix_server start &' >>/etc/rc.local
    2. #echo '/etc/init.d/zabbix_agentd start &' >>/etc/rc.local
    复制代码

    启动 zabbix

    设置完成后,启动zabbix server与agent

    1. # /etc/init.d/zabbix_server start
    2. # /etc/init.d/zabbix_agentd start
    复制代码

    启动时提示错误:

    zabbix_server: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
    因为我的 mysql client 库不在系统默认库中,做以下修改后重新启动就可以了:

    1. echo "/usr/local/ mysql/lib/mysql" >> /etc/ld.so.conf
    2. ldconfig -v
    3. # /etc/init.d/zabbix_server start
    复制代码

    并且查看目标端口已打开

    1. #netstat -lnp |grep 1005
    2. tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      9833/zabbix_agentd
    3. tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      9774/zabbix_server
    复制代码

    ps 查看zabbix进程

    1. #ps aux |grep zabbix
    2. zabbix    9823  0.0  0.1  71800  1092 ?        S    14:33   0:00 /usr/local/zabbix/sbin/zabbix_server
    3. zabbix    9826  0.0  0.0  71800   936 ?        S    14:33   0:00 /usr/local/zabbix/sbin/zabbix_server
    4. zabbix    9833  0.0  0.0  14232   572 ?        S    14:33   0:00 /usr/local/zabbix/sbin/zabbix_agentd
    复制代码

    二、zabbix的WEB访问安装

    首次访问进入安装界面:IP:/zabbix 
    <ignore_js_op> 
    访问过程中,页面会提示FAIL,根据FAIL项目更改PHP配置文件
    根据需要修改PHP配置文件中如下项目

    1. vi /usr/local/php/ect/php.ini
    2. max_execution_time = 300
    3. max_input_time = 300
    4. date.timezone = Asia/Shanghai
    5. post_max_size = 32M
    6. memory_limit = 128M
    7. mbstring.func_overload = 2
    复制代码

    修改完成后, 使用 "Retry" 按钮刷新
    <ignore_js_op> 
    点击 "Next >> ", 进入第四步,请输入密码,然后点击 "Test connection" (注意默认不需要修改其他,只要填入密码就好,之后继续)
    <ignore_js_op> 
    <ignore_js_op> 
    点击 “Save configuation file", 将下载的文件zabbix.conf.php, 拷贝到服务器的目录/usr/local/apache/htdocs/zabbix/conf/zabbix.conf.php去
    之后安装成功
    登录初始密码为:admin/zabbix
    启动成功

    三、zabbix client端设置
    设置需要监控的服务器

    1、首先需要下载安装包,由于Zabbix 在不同的操作系统上需要不同的安装包,应此首先需要去官方网站下载查看内核对应的安装包.
    下载安装文件到需要监控的LINUX服务器,然后

    1. # mkdir /usr/local/zabbix
    2. # cd  /usr/local/zabbix
    3. # tar -zxvf  zabbix_agents_1.8.5.linux2_6.amd64.tar.gz
    4. # useradd zabbix
    5. #chown -R zabbix:zabbix /usr/local/zabbix
    复制代码

    2、登录到主服务器,将配置文件复制到需要监控的服务器上
    放至/usr/local/zabbix中,并修改配置文件,参考如下:

    1. vi /usr/local/zabbix/zabbix_agentd.conf
    2. Hostname=hostname
    3. //本机主机名
    4. Server=server IP
    5. //Zabbix服务器IP
    6. LogFile=/usr/local/zabbix/zabbix_agentd.log
    复制代码

    3、运行:

    1. # /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf
    复制代码

    //可以使用命令查看是否运行:

    1. # ps aux | grep zabbix-agentd
    2. zabbix   27432  0.0  0.0  11460   884 ?        SN   15:30   0:00 /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf
    3. zabbix   27433  0.0  0.0  11456   596 ?        SN   15:30   0:00 /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf
    复制代码

    //查看日志:

    1. #tail -f /usr/local/zabbix/zabbix_agentd.log
    复制代码

    4、主机与client连接测试:

    1. # netstat -lnp|grep 1005       
    2. //首先确定端口是否开启,主机10050, 10051说明系统服务已经启动, client端口10050启动
    3. //主机端测试
    4. # /usr/local/zabbix/bin/zabbix_get -s  client_IP -k "agent.version" 
    5. 1.8.5
    复制代码

    //出现版本数,说明网络服务已经畅通

    install :

    yum install -y zabbix20 zabbix20-agent zabbix20-server zabbix20-server-mysql zabbix-web zabbix-web-mysql net-snmp-devel

    start:

    /etc/init.d/zabbix-server start;etc/init.d/zabbix-agent start

    /etc/init.d/httpd start ; /etc/init.d/mysqld start

    zabbix-server可能启动不起来,需连上mysql

    configure mysql:

    mysql -uroot -p -e "create database zabbix"

    mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql

    mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql

    mysql -uroot -p --default-character-set=utf8 zabbix </usr/share/zabbix-mysql/data.sql

    mysql -uroot -e "grant all on *.* to 'zabbix'@'127.0.0.1' identified by  'passw0rd'" 

    vim /etc/zabbix/zabbix-server.conf

    DBName....

    192.168.1.15/zabbix

    web install zabbix

    PHP configure for adjust

    vim /etc/php.ini

    post_max_size = 16M

    max_execution_time = 300

    max_input_time =300

    /etc/init.d/httpd restart

    account:password,admin:zabbix

    add client 接入要监控的主机:

    yum install -y zabbix20-agent

    vim /etc/zabbix_agentd.conf

    Server=服务端的IP

    ServerActive=监听的服务,0.0.0.0/10050监听所有的ip

    HostName=自定义

    启动:/etc/init.d/zabbix-agent start

    服务端检测:zabbix_get -s 192.168.1.16 -p10050 -k "system.hostname"

    web configure

    配置邮件警告:

    yum install -y sendmail or postfix

    /etc/init.d/postfix start

    mail -s "test" 3354509516@qq.com < /etc/inittab

    mkdir -p /home/zabbix/bin 发邮件的脚本

    vim /home/zabbix/bin/warn.sh

    #!/sbin/bash($1:邮件接受者$2:主题$3:邮件内容)

    echo "$3" |/bin/mail -s "$2" $1

    chmod +x !$

    vim /etc/zabbix-server.conf

    AlertScriptsPath = /home/zabbix/bin

    ExternaScripts=/home/zabbix/bin

  • 相关阅读:
    A magic method allowing a third variable used in comparison function of std::sort
    Create a wireframe box in rviz but not using any other extra tools (unfinished)
    Three methods to iterate every point in pointcloud of PCL(三种遍历点云的方式)
    Environment Perception: 3D Truss Environment Mapping and Parametric Expression Extraction
    shell脚本练习02--求字符串的长度
    shell脚本练习01
    shell脚本,循环的记录
    linux 备份最近一天的文件
    mybatis和java一些知识记录
    第8章
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/5707277.html
Copyright © 2020-2023  润新知