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无法正常安装
并且安装
- # yum install php-mbstring php-gd*
- # yum install php-bcmath
复制代码
安装fping
由于 zabbix使用 fping替代了 ping作为 icmp的工具,所以要安装 fping。
- cd /usr/local/src
- wget http://fping.sourceforge.net/download/fping.tar.gz tar zxvf fping.tar.gz
- chmod a+x *
- ./configure
- make
- make install
复制代码
默认安装到/usr/local/sbin/fping ,些处我们要链接到
- ln -s /usr/sbin/fping
- //fping 只有ROOT权限才能运行。所以此处设定权限
- chmod a+s /usr/local/sbin/fping
- chmod a+s /usr/sbin/fping
复制代码
Zabbix安装
1、下载
#wget http://jaist.dl.sourceforge.net/ ... abbix-1.8.11.tar.gz
2、导入数据库
//先建立数据库zabbix
- #mysql -uroot -p
- #myslq> create database zabbix character utf8;
- #mysql> quit;
- //导入 zabbix库
- # tar zxvf zabbix-1.8.11.tar.gz
- # cd zabbix-1.8.11
- # mysql -u root -p --default-character-set=utf8 -D zabbix <create/schema/mysql.sql
- # mysql -u root -p --default-character-set=utf8 -D zabbix <create/data/data.sql
- # mysql -u root -p --default-character-set=utf8 -D zabbix <create/data/images_mysql.sql
复制代码
3、安装需要的包
- # 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
- # yum –y install net-snmp*
复制代码
4、安装zabbix
- # ./configure --with-mysql --with-net-snmp --enable-server --enable-agent --prefix=/usr/local/zabbix
- # make
- # make install
- # vi /ect/services
- zabbix-agent 10050/tcp #Zabbix Agent
- zabbix-agent 10050/udp #Zabbix Agent
- zabbix-trapper 10051/tcp #Zabbix Trapper
- zabbix-trapper 10051/udp #Zabbix Trapper
复制代码
5、添加配置文件
- # mkdir -p /etc/zabbix
- # cp ./misc/conf/* /etc/zabbix
- # chown -R zabbix:zabbix /etc/zabbix/
复制代码
6、修改Server配置文件
- # vim /etc/zabbix/zabbix_server.conf
- DBUser=root
- DBPassword= sqlpassword
- LogFile=/usr/local/zabbix/zabbix_server.log
复制代码
7、复制 zabbix 到访问目录
- # mkdir /usr/local/apache/htdocs/zabbix
- # cp -Rpf frontends/php/* /usr/local/apache/htdocs/zabbix/
复制代码
8、复制启动文件
- # cp misc/init.d/redhat/zabbix_server_ctl /etc/init.d/zabbix_server
- # cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/zabbix_agentd
- 在编译配置中如果 --prefix=不是文档中所描述的, 需要在上面两个文件中改动项目“BASEDIR=“设置为新安装目录。
- # vi /etc/init.d/zabbix_agentd
- #base zabbix dir
- BASEDIR=/usr/local/zabbix
复制代码
9、开机自启动
- #echo '/etc/init.d/zabbix_server start &' >>/etc/rc.local
- #echo '/etc/init.d/zabbix_agentd start &' >>/etc/rc.local
复制代码
启动 zabbix
设置完成后,启动zabbix server与agent
- # /etc/init.d/zabbix_server start
- # /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 库不在系统默认库中,做以下修改后重新启动就可以了:
- echo "/usr/local/ mysql/lib/mysql" >> /etc/ld.so.conf
- ldconfig -v
- # /etc/init.d/zabbix_server start
复制代码
并且查看目标端口已打开
- #netstat -lnp |grep 1005
- tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9833/zabbix_agentd
- tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 9774/zabbix_server
复制代码
ps 查看zabbix进程
- #ps aux |grep zabbix
- zabbix 9823 0.0 0.1 71800 1092 ? S 14:33 0:00 /usr/local/zabbix/sbin/zabbix_server
- zabbix 9826 0.0 0.0 71800 936 ? S 14:33 0:00 /usr/local/zabbix/sbin/zabbix_server
- 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配置文件中如下项目
- vi /usr/local/php/ect/php.ini
- max_execution_time = 300
- max_input_time = 300
- date.timezone = Asia/Shanghai
- post_max_size = 32M
- memory_limit = 128M
- 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服务器,然后
- # mkdir /usr/local/zabbix
- # cd /usr/local/zabbix
- # tar -zxvf zabbix_agents_1.8.5.linux2_6.amd64.tar.gz
- # useradd zabbix
- #chown -R zabbix:zabbix /usr/local/zabbix
复制代码
2、登录到主服务器,将配置文件复制到需要监控的服务器上
放至/usr/local/zabbix中,并修改配置文件,参考如下:
- vi /usr/local/zabbix/zabbix_agentd.conf
- Hostname=hostname
- //本机主机名
- Server=server IP
- //Zabbix服务器IP
- LogFile=/usr/local/zabbix/zabbix_agentd.log
复制代码
3、运行:
- # /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf
复制代码
//可以使用命令查看是否运行:
- # ps aux | grep zabbix-agentd
- 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
- 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
复制代码
//查看日志:
- #tail -f /usr/local/zabbix/zabbix_agentd.log
复制代码
4、主机与client连接测试:
- # netstat -lnp|grep 1005
- //首先确定端口是否开启,主机10050, 10051说明系统服务已经启动, client端口10050启动
- //主机端测试
- # /usr/local/zabbix/bin/zabbix_get -s client_IP -k "agent.version"
- 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
Linux-监控与安全运维之zabbix的更多相关文章
- Linux监控和安全运维 1.9 zabbix增加客户端监控
1.在客户端安装 zabbix20与服务器相对应. yum install zabbix20-agent 2.修改配置文件 vim /etc/zabbix_agentd.conf Server=127 ...
- Linux监控和安全运维 2.0 zabbix配置邮件告警
1.发邮件启动postfix /etc/init.d/postfix start mail -s @qq.com < /etc/inittab mailq 查看发送结果 2.配置发邮件文件 mk ...
- Linux实战型企业运维工程师试题测评
Linux实战型企业运维工程师试题答案 作者:尹正杰 最近在网上看到了一套有意思的面试题,我们一起来看一下这些题怎么破吧,哈哈~我先放在这里,有时间了一起来看看.多学点东西终究是没有坏处的! ...
- Python Linux系统管理与自动化运维
Python Linux系统管理与自动化运维 前言 第1章Python语言与Linux系统管理1 1.1Python语言有多流行1 1.2Python语言为什么流行3 1.3Python语言有什么缺点 ...
- Linux实战型企业运维工程师试题
1.如何通过Linux配置一个局域网或者IDC机房上网网关,请给出步骤及命令?答:上网网关配置(1)开启内核转发:sed -i 's#net.ipv4.ip_forward = 0#net.ipv4. ...
- Linux下性能调试工具运维笔记
作为一名资深的linux运维工程师,为方便了解和追求服务器的高性能,如cpu.内存.io.网络等等使用情况,要求运维工程师必须要熟练运用一些必要的系统性能调试工具,liunx下提供了众多命令方便查看各 ...
- linux平台下server运维问题分析与定位
结合我工作中碰到的运维问题,总结一下Linux下server常见的运维问题以及定位方式.这里的server主要指自主开发的逻辑server,web srv因为通常采用通用的架构所以问题比较少. 逻辑s ...
- 监控和安全运维 1.4 nagios安装
1. Nagios 简介是一个开源软件,可以监控网络设备网络流量.Linux/windows主机状态,甚至可以监控打印机它可以运行在Linux上或windows上基于浏览器的web界面方便运维人员查看 ...
- linux系列之常用运维命令整理笔录
目录 本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍 ...
- 基于Linux平台的自动化运维Devops-----之自动化系统部署
一.自动化运维的背景网站业务上线,需要运维人员在短时间内完成几百台服务器部署,包括系统安装.系统初始化.软件的安装与配置.性能的监控......所谓运维自动化,即在最少的人工干预下,利用脚本与第三方工 ...
随机推荐
- SVM多核学习方法简介
作者:Walker SVM是机器学习有监督学习的一种方法,常用于解决分类问题,其基本原理是:在特征空间里寻找一个超平面,以最小的错分率把正负样本分开.因为SVM既能达到工业界的要求,机器学习研究者又能 ...
- PyTorch Hub发布!一行代码调用最潮模型,图灵奖得主强推
为了调用各种经典机器学习模型,今后你不必重复造轮子了. 刚刚,Facebook宣布推出PyTorch Hub,一个包含计算机视觉.自然语言处理领域的诸多经典模型的聚合中心,让你调用起来更方便. 有多方 ...
- 如何有效的阅读JDK源码
阅读Java源码的前提条件: 1.技术基础 在阅读源码之前,我们要有一定程度的技术基础的支持. 假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃<Core Java>,那样 ...
- Java工程师常用Linux命令
本文所列的Linux常用命令包含:文件相关(目录操作,内容查看,查找与比较,压缩与解压),进程管理,网络操作,系统管理,性能监测与优化,Java常用工具多个方面概述. 文件目录基本操作 ls 命令用来 ...
- JavaScript实现哈希表
JavaScript实现哈希表 一.哈希表简介 1.1.认识哈希表 哈希表通常是基于数组实现的,但是相对于数组,它存在更多优势: 哈希表可以提供非常快速的插入-删除-查找操作: 无论多少数据,插入和删 ...
- 《快速认识 Three.js 》
此文仅作备份之用,为了更好的阅读体验,建议访问原文链接:<Three.js - 走进3D的奇妙世界.> ,感谢原作者的好文.
- 浅谈头文件(.h)和源文件(.cpp)的区别
浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮.经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能.分门别类展开的文件构成的.一锅 ...
- 三通道低功耗ASK低频唤醒接收器PAN3501完全替代AS3933/GC3933
低频唤醒接收器PAN3501软硬件兼容AS3933/GC3933,且新增了寄存器功能,可直接替换,供应稳定,高性价比. 产品介绍: PAN3501是一款最多三个通道接收的低功耗ASK接收机,可用 ...
- 家庭记账本app实现登录注册界面以及仿微信操作界面(共4个实现一个)遇到了麻烦
今天学习了数据的创建,以及关于数据库的相关操作. 今天主要是实现了对于数据库的增加和查找. 具体的代码如下: 首先是数据库的创建: DBOpenMessage.java package com.exa ...
- MTK Android 耳机线控的实现方法
android 耳机线控的实现方法 keycodeonkeydownkeyevent 耳机线控的功能 耳机线控是一种很好用,并且能提升用户体验的功能.可以用来实现一些常用和基本的功能.比如:实现音乐播 ...