设为首页 收藏本站

运维网

查看: 316|回复: 0

[经验分享] linux下mrtg,cacti,nagios,ganglia的搭建和win/linux主机等的监控

[复制链接]

尚未签到

发表于 2019-1-11 13:54:16 | 显示全部楼层 |阅读模式
  监控软件:

  • 监控软件mrtg
  • 监控软件cacti
  • 监控软件nagios
  • 监控软件ganglia
  第一款监控软件Mrtg
  mrtg 这款软件是在互联网应用的比较早的监控软件,像在05,06年的时候,它是非常吃香的。它的原理比较简单:通过snmp与被管设备通信,把数据取回来,然 后生成图片,直接显示出来,不需要把数据写到数据库里面,非常简洁,如果单纯想监控主机/路由器/交换机等设备的接口流量的话,mrtg是首选的监控软 件。下面是监控图

  搭建步骤:
  一.前提条件:
  系统必须已经安装以下软件,这些软件都是光盘里自带的:
  gd;libpng;perl;gpeg;apache;snmp(也可以安装源码包)。
  二.安装mrtg。大家用源码包或者rpm包都可以,在这里我选择用rpm包了,在rhel4以后的版本里面已经把mrtg集成进去了,直接用光盘的rpm包安装就可以了。
  具体操作:搭建一个本地yum库
  编辑yum配置文件: vi /etc/yum.repos.d/rhel-debuginfo.repo内容如下:
  [rhel-debuginfo]
  name=Red Hat Enterprise Linux $releasever - $basearch - Debugbaseurl=file:///mnt/Server
  enabled=1
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
  挂在光盘到/mnt: mount /dev/hdc /mnt
  执行yum update 来 升级yum库。
  yum -y install 软件名称
  三.用mrtg来监控路由器/交换机/服务器的接口流量。
  1.  cfgmaker --global “WorkDir:/var/www/html” --global  “Options[]:growright,bits” --show-op-down --ifref=name --output mrtg.cfg  password1@路由器ip password2@服务器ip ….
  解释一下:
  cfgmaker命令是用来生成mrtg的配置文件的
  --global是两个全局配置参数来指定mrtg的工作目录和流量的增长单位
  --show-op-down是显示所有接口流量,默认只显示有流量的接口
  --ifref=name表示生成的流量图片上方的标题是接口的名称
  --output=mrtg.cfg表示mrtg的配置文件的名称
  password1@路由器ip,注意@前面是snmp的团体名称,是来做身份验证的,相当于密码,该团体名称要在被管设备上面提起设置好,这个需要大家注意一下。
  2. env LANG=C /usr/bin/mrtg mrtg.cfg
  这条命令大家应该清楚什么意思吧:把环境变量LANG设置为C(中文chinese),用mrtg命令来处理刚才生成的mrtg的配置文件。注意该命令需要执行3次。
  3. indexmaker --output=/var/ww/html/index.html --title=网页标题 /var/www/html/mrtg.cfg
  indexmaker是用来生成网页文件的,后面需要指定一下mrtg的配置文件。
  4 启动一下apache,然后通过http://搭建mrtg的ip就可以访问到监控内容了
  写一个计划任务让它每五分钟执行一次来达到实时监控的目的.
  crontab -e
  */5 * * * * env LANG=C /usr/bin/mrtg /var/www/html/mrtg.cfg
  注意:A. 如果监控网络设备,一定要提前在设备上开启snmp,否则是监控不到的。
  比如:华为或者h3c的设备启用snmp的命令是: snmp-agent community read 共同体名
  思科的设备启用snmp的命令是: snmp community 共同体名 ro/rw
  B .如果监控windows客户端,windows要安装“简单网络管理协议”(在添加删除程序里面),然后在服务里面就可以找到snmp:如图
  给它添加一个团体名称就可以了。

  监控linux主机
  从RHEL5光盘中安装net-snmp软件包
  * 先安装依赖包 lm_sensors-2.10.0-3.1.i386.rpm
  * 再安装 net-snmp-5.3.1-14.el5.i386.rpm
  调整snmpd.conf配置文件
  vi /etc/snmp/snmpd.conf

  第二款监控软件cacti
  先看一下cacti的原理图:


  下面看一下cacti的搭建过程:
  配置被监测端
  * 要能够支持以SNMP协议提供监测数据
  * 对于Linux主机可以安装net-snmp软件包
  配置监测服务端
  * 安装并配置以Cacti套件为主的各种工具
  * 包括AMP平台、SNMP数据采集工具、RRDTool工具
  使用Cacti监测系统
  * 添加被监测主机或设备
  * 设置被监测的具体项目
  * 生成及查看监测图像
  一.被监控端(一台linux服务器)的操作:在mrtg中已做介绍,这里就省略了
  二.服务器端的操作:
  安装依赖软件
  * AMP平台,从RHEL5光盘中安装下列软件包
  yum -y install httpd mysql mysql-server mysql-connector-odbc
  yum -y install php php-mysql php-common php-pdo
  SNMP数据采集工具
  * lm_sensors、net-snmp、net-snmp-utils
  * yum -y install lm_sensors net-snmp net-snmp-utils
  RRDTool引擎
  * 下载软件包:rrdtool-1.2.27.tar.gz
  * 配置:./configure --prefix=/usr/local
  * 编译安装: make && make install
  小提示:期间可能会报错:intltool太老(也可能没安装)
  解决方法:yum -y install intltool
  安装Cacti程序套件
  cacti-0.8.7g.tar.gz -C /var/www/html/
  进入/var/www/html/目录:
  mv cacti-0.8.7 cacti
  useradd cactiuser
  chown -R cactiuser.cactiuser cacti/rra/ cacti/log/
  启动mysql: service mysqld start
  登陆 mysql -u root -p
  mysql> create database cactidb default character set utf8;
  mysql> grant all on cactidb.* to cactiuser@localhost>
  mysql> quit
  用sql语句导入数据库内容.
  [root@localhost html]# mysql -u cactiuser -p cactidb < cacti/cacti.sql
  编辑cacti的配置文件/var/www/html/cacti/include/config.php
  $database_type = &quot;mysql&quot;; 数据库类型
  $database_default = &quot;cactidb&quot;; 数据库名称
  $database_hostname = &quot;localhost&quot;; 数据库服务器位置
  $database_username = &quot;cactiuser&quot;; 连接数据库的用户
  $database_password = &quot;1234&quot;; 该用户的密码
  $database_port = &quot;3306&quot;; 数据库端口
  修改apache主配文件
  DirectoryIndex 后面添加index.php
  然后就可以启动apache了: service httpd start
  在浏览器里面http://服务器的ip地址 /cacti(用户名和密码均是admin,第一次必须改密码)



  如何添加设备
  添加设备:Console&agrave;Devices&agrave;Add
  需要填写的内容主要是:设备描述 设备ip或主机名 snmp版本 团体名

  能够看到snmp information证明添加成功了。
  生成图像
  添加设备:Console&agrave;NewGraphs
  然后选择要为哪个设备生成图像,把右侧要生成图像的内容的勾号都勾选上。

  把图像挂载到图像树下面去

  如果想生成连续的图像需要写一个计划任务:
  */5 * * * * php /var/www/html/cacti/poller.php
  温馨提示:执行这条命令会在/var/www/html/cacti/rra目录下生成很多以rrd结尾的数据文件,如果没有生成,则证明权限设置有问题
  Cacti扩展
  扩展三个插件monitor,settings,thold
  插件的主要作用:
  一是邮件报警
  二是声音报警
  具体操作
  * 解压补丁文件 cacti-plugin-0.8.7g-PA-v2.8.tar.gz
  * Cd /var/www/html/cacti
  * patch -p1 -N &lt; /soft/cacit/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff
  * 注意:补丁文件必须与cacti安装文件版本匹配才可以
  * 然后分别把thold-0.3.9.tar.gz;settings-0.5.tar.gz;monitor-0.7.tar.gz解压到 /var/www/html/cacti/plugins目录
  这是monitor的内容,有声音报警

  这是邮件报警,在console->settings-&gt;mail/dns里面

  Cacti-后续扩展,我会继续更新cacti监控里的东西,大家可以多关注我的博客:
  http://gehailong.blog.运维网.com



  这些内容我后续会在博客里写出来
  第三款监控软件nagios
  Nagios 功能非常强大,它可以监控服务和主机,但是他自身并不包括这部分功能的代码,所有的监控、检测功能都是有插件来完成的。再说报警功能,如果监控系统发现问 题不能报警那就没有意义了,所以报警也是nagios很重要的功能之一。但是,nagios自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其 他相关开源项目组去完成比如飞信,邮件等实现报警。nagios安装,是指基本平台,也就是nagios软件包的安装。它是监控体系的框架,也是所有监控 的基础。
  nagios搭建
  用户和组的建立:
  * 建立 nagios 账号
  * /usr/sbin/useradd nagios
  * 创建一个用户组名为 nagcmd 用于从 Web 接口执行外部命令。将 nagios用户和 apache 用户都加到这个组中。
  * /usr/sbin/groupadd nagcmd
  * /usr/sbin/usermod -G nagcmd nagios
  * /usr/sbin/usermod -G nagcmd apache/daemon
  安装软件:nagios-3.3.1.tar.gz
  主要操作:
  * ./configure --with-command-group=nagcmd --prefix=/usr/local/nagios
  * make all
  * make install
  * make install-init
  * make install-config
  * make install-commandmode
  bin
  Nagios执行程序的目录
  etc
  Nagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件 3与2区别 对象配置文件都在etc/objects目录下
  sbin
  Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录
  Share
  Nagios网页文件所在的目录
  Var
  Nagios日志文件、spid 等文件所在的目录
  var/archives
  Empty directory for the archived logs
  var/rw
  Empty directory for the external command file
  Nagios主配文件nagios.conf简介
  * cfg_file=/usr/local/nagios/etc/objects/contacts.cfg //联系人/组配置文件
  * cfg_file=/usr/local/nagios/etc/objects/localhost.cfg //本机配置文件
  * cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg //监视时段配置文件
  * cfg_file=/usr/local/nagios/etc/objects/commands.cfg //监视脚本配置
  * cfg_file=/usr/local/nagios/etc/objects/templates.cfg //监视服务,报警配置
  * cfg_file=/usr/local/nagios/etc/objects/switch.cfg //监视路由
  * cfg_file=/usr/local/nagios/etc/objects/windows.cfg //监视微软
  安装插件: nagios-plugins-1.4.15.tar.gz来扩展nagios的功能
  * tar zxvf nagios-plugins-1.4.15.tar.gz
  * cd nagios-plugins-1.4.15
  * ./configure  --with-nagios-user=nagios --with-nagios-group=nagios  --prefix=/usr/local/nagios &&make && make install
  * chown nagios.nagios /usr/local/nagios
  * chown -R nagios.nagios /usr/local/nagios/libexec
  验证插件是否安装成功:
  * ls /usr/local/nagios/libexec
  * 会显示安装的插件文件,即所有的插件都安装在 libexec 这个目录下

  监控软件nagios-配置web接口(我介绍的是最简单的方法,不要改apache的配置文件)
  直接在nagios 的解压目录下执行一下 make install-webconf
  主要作用:在/etc/httpd/conf.d目录下生成nagios.conf
  这种配置方式是最简单,最方便的。
  * 创建一个 nagiosadmin 的用户用于 Nagios 的 WEB 接口登录。记下你所设置的登录口 令,一会儿你会用到它。
  * htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
  重启apache让刚才生成的配置文件生效: service httpd restart
  * 把 Nagios 加入到服务列表中以使之在系统启动时自动启动
  * chkconfig --add nagios
  * chkconfig nagios on
  * 检查Nagios 的配置文件是否有语法错误
  * /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  * 这条命令会经常用到要牢记
  * 如果没有报错,就可以启动 Nagios 服务
  * service nagios start
  * 访问http://服务器ip/nagios 输入用户名和口令就可以访问了

  监控软件nagios-监控linux
  服务器的配置:
  1. 安装软件nrpe-2.12.tar.gz
  服务器和被监控主机通过nrpe通信
  tar xzvf nrpe-2.12.tar.gz
  cd nrpe-2.12
  ./configure &&make all &&make install-plugin &&make install-daemon &&make install-daemon-config
  * 2.在/usr/local/nagios/etc/objects下新建文件hosts.cfg在里面写入如下内容:
  * define host {
  * name default_servers 定义模板,后面会用
  * contact_groups admins 出问题联系哪个组
  * max_check_attempts 5
  * notification_interval 0
  * notification_period 24x7
  * notification_options d,u,r
  * check_command check-host-alive
  * }
  * define host {
  * use default_servers 调用上面定义的模板
  * host_name db_ip2_back
  * alias db_ip2_back
  * address 192.168.10.2
  * }
  * 3.在/usr/local/nagios/etc/objects目录下新建services.cfg。内容如下
  * efine service {
  * name dbservers 定义模板,后面要用
  * max_check_attempts 3
  * normal_check_interval 4
  * retry_check_interval 2
  * check_period 24x7
  * notification_interval 15
  * notification_period 24x7
  * notification_options w,u,c,r
  * contact_groups admins 组要在contacts.cfg中提前定义好
  * }
  * define service{
  * use dbservers
  * host_name db_ip2_back
  * service_description Root Partition
  * check_command check_local_disk!20%!10%!/
  * }
  客户端的配置:
  * 新建用户nagios
  * 安装nrpe软件。安装方式跟服务器安装方式相同
  * 启动nrpe:
  * /usr/local/nagios/bin/nrpe -d /usr/local/nagios/etc/nrpe.cfg
  * 查看是否启动成功:
  * [root@localhost etc]# netstat -ntlp|grep nrpe
  * tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 20086/nrpe

  监控软件nagios-监控windows
  服务器端的配置:
  * 编辑/usr/local/nagios/etc/objects/hosts.cfg在后面添加如下内容
  * define host{
  * use default_servers
  * host_name win_ip3_server
  * alias win_ip3_server
  * address 192.168.10.3
  * }
  * 编辑/usr/local/nagios/etc/objects/services.cfg在后面添加如下内容
  * define service{
  * use generic-service
  * host_name win_ip3_server
  * service_description Memory Usage
  * check_command check_nt!MEMUSE!-w 80 -c 90
  * }
  * define service{
  * use generic-service
  * host_name win_ip3_server
  * service_description C:\ Drive Space
  * check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
  * }
  Windows客户端的配置:
  * 1.双击安装NSClient++-0.3.6-Win32.msi
  * 2.编辑NES.ini
  * 在 [modules] 选项里
  * 去掉所有的注释符号; 除了
  * CheckWMI.dll和RemoteConfiguration.dll
  * 在 [Settings] 选项里
  * 修改allowd_host=61.x.x.x(nagios服务器的ip)
  * 如果这一步要修改passwd,那么nagios服务器里面commands.cfg也要修改!
  * 步骤: 在commands.cfg 找到check_nt 定义命令 中的 Command_line 在其中添加-s 你的密码
  * 在[NSClient] 里面,去掉port=12489的注释!
  * 他靠端口12489侦听,所以防火墙要打开这个端口!
  * 然后双击nstray.exe启动nsclient

  实现飞信报警
  安装飞信:
  把飞信安装到/usr/local/nagios/sms目录。
  * tar xzvf fetion20090406003-linux.tar.gz -C /usr/local/nagios/sms/
  * cd /usr/local/nagios/sms/install
  * mv * ../
  * 运行飞信会报错: /usr/local/nagios/sms/fetion
  * ./fetion: error while loading shared libraries: libACE-5.6.8.so: cannot open shared object file: No such file or director
  * 解决方法:
  * tar xzvf library_linux.tar.gz -C /usr/lib
  测试飞信:
  * ./fetion --mobile=手机号 --pwd=密码 --msg-utf8=&quot;test&quot; --to=13671324197
  * 编辑commands.cfg在后面添加如下内容
  * define command{
  * command_name notify-service-by-sms
  * command_line  /usr/local/nagios/sms/fetion --mobile=13716335947 --pwd=fantong_2010  --msg-type=1 --msg-utf8=&quot;$HOSTNAME$ $SERVICEDESC$ is $SERVICESTATE$ on  $TIME$ result is $SERVICEOUTPUT$&quot; --to=$CONTACTPAGER$
  * 编辑 contacts.cfg,添加如下内容
  * define contact {
  * contact_name nagiosadmin
  * alias nagiosadmin
  * service_notification_period 24x7
  * host_notification_period 24x7
  * service_notification_options w,u,c,r
  * host_notification_options d,u,r
  * service_notification_commands notify-service-by-email,notify-service-by-sms
  * host_notification_commands notify-host-by-email,notify-host-by-sms
  * email search-alert@fantong.com,gehailong@fantong.com
  * pager 13671324197
  * }
  * define contactgroup{
  * contactgroup_name admins
  * alias Nagios Administrators
  * members nagiosadmin
  * }
  后续扩展,后续我会吧一下nagios的高级应用加到博客里去




运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@yunvn.com 网址:www.iyunv.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@yunvn.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-662111-1-1.html 上篇帖子: cacti利用snmpdiskio 监控服务器磁盘 下篇帖子: 为Cacti增加Monitor、Thold插件
点击关注更多内容
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2020

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up


客服E-mail:kefu@yunvn.com 在线客服QQ:点击这里给我发消息


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud bjyun

快速回复 返回顶部 返回列表