设为首页 收藏本站
查看: 2023|回复: 0

Lamp环境下使用nagios监控windows服务器

[复制链接]

尚未签到

发表于 2019-1-16 07:20:19 | 显示全部楼层 |阅读模式
  Lamp环境下使用nagios监控windows服务器
  [ 日期:2012-03-22 ]              作者:luke
  一、软件简介
Nagios是一个监控系统运行状态和网络信息的监控软件。它能监控所指定的本地或远程主机的系统状态以及运行的服务,同时提供异常通知的功能。另外,Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志,性能图表等等。
  Nagios的主要功能特点:
- 监视网络服务 (mysql,http,nginx,squid,ping等)
- 监视主机资源 (进程,磁盘,CPU,内存等)
- 简单的插件扩展功能
- 异常通知功能 (通过email,短信网关,飞信等)
- WEB界面使系统管理人员能够随时查看网络服务状态,系统问题等等
  二、实验目的
在lamp环境下使用nagios监控windows服务器,监控主机资源。
  三、安装步骤
  (1).按照linux操作系统,我选择的是rhel5.5,这个大家都会,略过。
  (2).在linux5.5平台下源码编译apache、mysql、php,在这个过程中mysql不做过多要求,php编译后要做测试,测试通过后在编译安装nagios。
  (3).源码编译nagios并测试监控本机服务器资源。
  (4).在windows 操作系统下安装NSClient++32/64,具体多少位根据实际情况而定。
  四、详细过程
  编译安装Lamp环境前,先配置好yum,yum install gcc glibc gd gd-devel glibc-common
  1. 下载软件
  # cd /usr/local/src
  httpd-2.2.6.tar.gz
  mysql-5.0.86-linux-i686-icc-glibc23.tar.gz
  php-5.2.10.tar.gz
  nagios-3.0.5.tar.gz
  nagios-plugins-1.4.13.tar.gz
  2. 安装MySQL
  # tar xzvf mysql-5.0.86-linux-i686-icc-glibc23.tar.gz
  # mv mysql-5.0.86-linux-i686-icc-glibc23 /usr/local/
  # ln - s /usr/local/ mysql-5.0.86-linux-i686-icc-glibc23 /usr/local/mysql
  # useraddmysql –s /sbin/nologin –M –u 504
  # chown -R mysql:root /usr/local/mysql/
  # cd /usr/local/mysql
  # ./scripts/mysql_install_db --user=mysql
  # cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
  # chown root:root /etc/rc.d/init.d/mysqld
  # chmod 755 /etc/rc.d/init.d/mysqld
  # chkconfig --add mysqld
  # chkconfig --level 3 mysqld on
  3. 编译安装Apache
  # cd /usr/local/src
  # tar xzvf httpd-2.2.6.tar.gz
  # cd httpd-2.2.6
  #./configure--prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared
  # make
  # make install
  # echo '/usr/local/apache/bin/apachectl start ' >> /etc/rc.local
  4. 编译安装PHP
  在编译安装PHP之前,我们首先关闭selinux,以免编译时出现错误,后面将会讲到不关闭selinux报错信息。
  # vi /etc/selinux/config
  找到:SELINUX=enforcing
  改为:SELINUX=disabled并重启
  开始安装编译PHP:
  # cd /usr/local/src
  # tar xzvf php-5.2.10.tar.gz
  # cd php-5.2.10
  #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp --with-libxml-dir=/usr/local/libxml2 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-curl --with-mcrypt=/usr/local/libmcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-sockets --enable-exif --enable-zend-multibyte --disable-ipv6 --disable-cgi
  # make
  # make install
  # cp php.ini-dist /usr/local/php/etc/php.ini
  在/usr/loca/apache/conf/httpd.conf里添加 index.php

  在/usr/local/apache/htdocs下touch test.php,并写入一下测试代码。

  在火狐浏览器里输入http://127.0.0.1/test.php

  4.编译安装nagios
  安装nagios主程序
  # useradd nagios
  # tar –zxvf nagios-3.0.5.tar.gz
  # cd nagios-3.0.5
  #./configure --prefix=/usr/local/nagios
  #make all #编译
  #make install #安装nagios主要程序,cgi和html文件等
  #make install-init # 把nagios做成一个运行脚本,使nagios随系统开机启动
  #make install-config # 把配置文件样例复制到nagios的安装目录
  #make install-commandmode # 给外部命令访问nagios配置文件的权限
  # chown -R nagios:nagios /uar/local/nagios
  安装完成后在/usr/local/nagios里面生成几个目录,分别是 var日志文件,bin执行程序,etc配置文件,sbin, share libexec网页的目录。至此安装成功。
  安装nagios插件
  nagios本身并没有监控的功能,所有的监控是由插件完成的,插件将监控的结果返回给nagios,nagios分析这些结果,以web的方式展现给我们,同时提供相应的报警功能
  #tar –zxvf nagios-plugins-1.4.13tar.gz
  # cd nagios-plugins-1.4.13
  #./configure –prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios 编译到nagios的安装目录
  # make && make install
  安装完成后,会在/usr/local/nagios/ 目录下面生成libexe插件,nagios所有的插件都会在这个目录里面。
  查看是否安装成功的方法是:
  ls /usr/local/nagios/libexec/
  在/usr/local/apache/conf/httpd.conf配置文件里添加下面两段话
  ScriptAlias /nagios/cgi-bin “/usr/local/nagios/sbin” //cgi文件的目录
  
  Options ExecCGI
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /usr/local/nagios/etc/htpasswd //验证文件的路径
  Require valid-user
  
  Alias /nagios “/usr/local/nagios/share” //nagios的文件目录
  
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /usr/local/nagios/etc/htpasswd //验证文件的路径
  Require valid-user
  

  Apache配置文件改完后需要使用命令htpasswd给nagiosadmin用户设置密码
  #/usr/local/httpd/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagiosadmin
  # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 查询配置有没有错误
  当出现
  Total Warnings: 0
  Total Errors: 0
  启动nagios服务:/etc/init.d/nagios start
  配置成功,可以登陆http://ip/nagios 查看我们的劳动成果。

  在/usr/local/nagios/etc/nagios.cfg下更改如下:

  编辑vi /usr/local/nagios/etc/objects/windows.cfg



  如果监控多台windows主机的话,在windows.cfg里添加就是了。
  5. 在windows服务器上安装NSClient++
  我分别在32bit windows server2003 和 64bit windows server 2008 R2上安装了
  NSClient++-0.3.9-Win32和NSClient++-0.3.8-x64(这两个文件运维网上都有下载)
  下面介绍安装的步骤,非常的简单。







  打开安装目录:

  把port前面的;号去了。

  windows+r 打开运行窗口输入:services.msc
  找到NSClient++服务后,点击右键重新启动

  最后在nagios主机上,重启nagios,打开浏览器查看刚才配置好的windows服务器

  有兴趣的朋友可以继续研究nagios的各种功能。
  下面是部署nagios监控windows时可能遇到的问题,贴出来,仅供大家参考。
  1.编译PHP时报错:
  [root@localhost php-5.2.10]# make install
  Installing PHP SAPI module: apache2handler
  /usr/local/apache//build/instdso.sh SH_LIBTOOL='/usr/local/apache//build/libtool' libphp5.la /usr/local/apache//modules
  /usr/local/apache//build/libtool --mode=install cp libphp5.la /usr/local/apache//modules/
  cp .libs/libphp5.so /usr/local/apache//modules/libphp5.so
  cp .libs/libphp5.lai /usr/local/apache//modules/libphp5.la
  libtool: install: warning: remember to run `libtool --finish /usr/local/src/php-5.2.10/libs'
  chmod 755 /usr/local/apache//modules/libphp5.so
  [activating module `php5' in /usr/local/apache//conf/httpd.conf]
  Installing PHP CLI binary: /usr/local/php/bin/
  Installing PHP CLI man page: /usr/local/php/man/man1/
  Installing build environment: /usr/local/php/lib/php/build/
  Installing header files: /usr/local/php/include/php/
  Installing helper programs: /usr/local/php/bin/
  program: phpize
  program: php-config
  Installing man pages: /usr/local/php/man/man1/
  page: phpize.1
  page: php-config.1
  Installing PEAR environment: /usr/local/php/lib/php/
  /usr/local/src/php-5.2.10/sapi/cli/php: error while loading shared libraries: /usr/local/mysql/lib/libmysqlclient.so.15: cannot restore segment prot after reloc: Permission denied
  make[1]: *** [install-pear-installer] Error 127
  make: *** [install-pear] Error 2
  解决办法:关掉防火墙后,并重启。
  Vi /etc/selinux/config
  SELINUX=enforcing改为SELINUX=disbled
  2.搭建lamp环境中,编译php后,用phpinfo来测试php是否能解析,发现无法解析。
  解决办法:
  增加默认主页的php支持:
  #
  # DirectoryIndex: Name of the file or files to use as a pre-written HTML
  # directory index. Separate multiple entries with spaces.
  #
  ;
  DirectoryIndex index.php index.html
  ;
  增加php后缀支持:
  #
  # AddType allows you to tweak mime.types without actually editing it, or to
  # make certain files to be certain types.
  #
  AddType application/x-tar .tgz
  AddType image/x-icon .ico
  AddType application/x-httpd-php .php .phtml .php3 .inc
  AddType application/x-httpd-php-source .phps
  3.账户无法使用
  [root@localhost libexec]# /etc/init.d/nagios restart
  Running configuration check...done.
  Stopping nagios: done.
  Starting nagios:This account is currently not available.
  done.
  解决办法:
  修改/etc/passwd
  将/sbin/nologin改成/bin/bash
  4.打开nagios时报错:
  You don't have permission to access /nagios/cgi-bin/status.cgi on this server.
  Forbidden
  You don't have permission to access /nagios/cgi-bin/tac.cgi on this server.
  解决办法:vi /usr/local/apache/conf/httpd.conf 里的配置可能写的不对,需要仔细核对。或者未安装GD库
  5.检查你的配置文件是不是都配置对了?
  [root@localhost htdocs]# service nagios restart
  Running configuration check... CONFIG ERROR! Restart aborted. Check your Nagios configuration.
  配置文件有误,可以使用/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg查看语法是否有问题。




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

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663742-1-1.html 上篇帖子: escalation 限制Nagios报警次数 下篇帖子: Nagios状态监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


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


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



合作伙伴: 青云cloud

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