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

[经验分享] Linux下cacti+syslog

[复制链接]

尚未签到

发表于 2019-1-12 07:02:21 | 显示全部楼层 |阅读模式
  
  Linux下cacti+syslog-ng+snare
  系统环境:CentOS5.4
  文档版本:V1.0.0
  整理者:Teasure
  更新时间:2011-02-13
  说明:运维专用

  目 录
  1. 服务端配置…………………………………………………………………………………………………………………………3
  1.1.1. 下载所需rpm包... 3
  1.1.2. 服务安装... 3
  1.1.3. 服务器端配置... 4
  1.1.4. 安装syslog插件... 5
  1.1.5. 在crontab中添加:... 5
  2. Linux客户端配置:……………………………………………………………………………………………………………6
  2.1.1. linux服务器客户端安装及配置... 6
  2.1.2. 注意事项: 6
  3. windows服务器客户端配置………………………………………………………………………………………………6
  3.1.1. 安装syslog-ng代理软件... 6
  3.1.2. 配置snare. 7
  3.1.3. 配置Objectives Configuration. 7
  4. Troubleshooting…………………………………………………………………………………………………………………..8
  4.1.1. 点击Syslog插件报错... 8
  5. Other thing………………………………………………………………………………………………………………………….9
  5.1.1. 使用默认的syslog. 9
  5.1.2. 完成配置后重启syslog服务... 10
  6. 防火墙配置……………………………………………………………………………………………………………………….10
  6.1.1. 在日志服务器上放行514端口... 10
1. 服务端配置

1.1.1. 下载所需rpm包
  从syslog-ng的官方网站上下载编译好的rpm包,针对rhel或CentOS的.
  需要的rpm包,可以到这里进行下载使用:

  文件:
  Syslog-NG.rar
  大小:
  859KB
  下载:

1.1.2. 服务安装
  安装(服务器跟客户端安装都一样,这里指的是linux客户端,windows客户端需要另外的软件)
  [root@Teasure syslog]# ll
-rw-r--r-- 1 root root 72601 2009-01-04 libdbi8-0.8.2bb2-3.rhel5.i386.rpm
  -rw-r--r-- 1 root root 650564 2009-01-04 libdbi8-dev-0.8.2bb2-3.rhel5.i386.rpm
  -rw-r--r-- 1 root root 9076 2009-01-04 libevtlog0-0.2.8-1.i386.rpm
  -rw-r--r-- 1 root root 163024 2009-01-04 syslog-ng-2.1.3-1.i386.rpm
  安装libevt
  [root@Teasure syslog]# rpm -ivh libevtlog0-0.2.8-1.i386.rpm
Preparing... ################################# [100%]
1:libevtlog0 ################################## [100%]
  安装syslog-ng
  [root@Teasure syslog]# rpm -vih libdbi8-0.8.2bb2-3.rhel5.i386.rpm libdbi8-dev-0.8.2bb2-3.rhel5.i386.rpm syslog-ng-2.1.3-1.i386.rpm
warning: libdbi8-0.8.2bb2-3.rhel5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 2aa28252
Preparing... ############################### [100%]
1:libdbi8 ############################### [ 33%]
2:libdbi8-dev ############################### [ 67%]
3:syslog-ng ################################# [100%]
  Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting syslog-ng: [ OK ]
1.1.3. 服务器端配置
  [root@Teasure syslog]# cd /etc/syslog-ng
  [root@Teasure syslog-ng]# cp syslog-ng.conf syslog-ng.conf.bak
  [root@Teasure syslog-ng]# vim syslog-ng.conf
  在最后末行添加如下:
  source net {
  udp();
  };
  destination d_mysql {
  pipe("/tmp/mysql.pipe"
  template("INSERT INTO syslog_incoming (host, facility, priority, date, time, message) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG' );\n")
  template-escape(yes)
  );
  };
  log { source(net); destination(d_mysql); };
  log { source(s_local); destination(d_mysql); };
  完成之后,执行命令:
  检查服务状态
1.1.4. 安装syslog插件
  安装syslog插件,在syslog插件目录下,编辑一个新的sh文件/var/www/html/plugins/syslog/syslog2mysql.sh,并且赋予可执行权限(同时该目录下的syslog_process.php也必须有可执行权限):
  [root@Teasure syslog]# chmod +x syslog2mysql.sh syslog_process.php
  syslog2mysql.sh脚本内容如下:
  #!/bin/bash
  if [ ! -e /tmp/mysql.pipe ]
  then
  mkfifo /tmp/mysql.pipe
  fi
  while [ -e /tmp/mysql.pipe ]
  do mysql -u root syslog < /tmp/mysql.pipe >/dev/null
  done
  运行syslog2mysql.sh,如果没有任何显示,后台有该进程,则基本上成功了。
  [root@Teasure syslog]#/var/www/html/plugins/syslog/syslog2mysql.sh &
1.1.5. 在crontab中添加:
  [root@Teasure syslog]# crontab -e 添加如下两行内容:
  @reboot /var/www/html/plugins/syslog/syslog2mysql.sh
  */1 * * * * /usr/bin/php /var/www/html/plugins/syslog/syslog_process.php
  使开机执行syslog2mysql.sh,syslog_process.php每分钟执行一次。
  注意事项:全部完成后记得重启各种服务。
2. Linux客户端配置:

2.1.1. linux服务器客户端安装及配置
  安装跟服务器端一样的,这里就不多说了.
  配置
  在/etc/syslog-ng/syslog.conf里只需要加三行就可以了 把其它的全部都注释掉
  内容如下:
  source s_local { pipe (&quot;/proc/kmsg&quot; log_prefix(&quot;kernel: &quot;)); unix-stream (&quot;/dev/log&quot;); internal(); };
  destination d_udp { udp(&quot;192.168.1.198&quot; port(514)); };
log { source(s_local); destination(d_udp); };
  然后再重启syslog-ng服务就可以了.
2.1.2. 注意事项:
  上面的配置会导致本地没有任何日志信息了,因为全部都发送到了日志服务器上面了.如果想在本地保留一份日志信息,那么在syslog-ng里面再加入三行,内容如下:
  source s_local { pipe (&quot;/proc/kmsg&quot; log_prefix(&quot;kernel: &quot;)); unix-stream (&quot;/dev/log&quot;); internal(); };
destination d_syslognglog { file(&quot;/var/log/syslog-ng.log&quot;); };
log { source(s_local); destination(d_syslognglog); };
  这样本地也就有一份日志信息了,保存在/var/log/syslog-ng.log里面.
3. windows服务器客户端配置
3.1.1. 安装syslog-ng代理软件
  安装syslog-ng代理软件:SnareSetup-3.1.3-MultiArch.exe,为什么用这个呢,这个配置简单易用.
  安装很简单,双击exe文件,下一步,下一步.其中有一步是问需要不需要密码,是用默认的snare做为用户跟密码还是用本地系统的用户,还是创建一个帐号做为认证,这个就取决于个人了.点击安装完成.
3.1.2. 配置snare
  配置snare,点击开始--程序--选择InterSect Alliance--snare for windows 后是一个web形式的,地址为:http://localhost:6161/
  默认是不需要密码的,可以配置为需要用户名跟密码来认证.首先我们配置日志服务器这一部分,也是最主要的部分,如果这一部分配置不正确的话,那日志服务器上也就不会有这台机器的日志信息了.点击左边的:Network Configuration 如下所示

  Destination Snare Server address ---这个就是日志服务器的IP地址了.一般不用域名,怕解释不到.
  Destination Port --- 这个就是日志服务器的端口了 一般默认是514
  Enable Syslog Header一般把勾打上.下面两个就根据你的需要来设置了.
  设置完成后再点下面的 Change Configureation 应用配置
3.1.3. 配置Objectives Configuration
  还有一个重要的配置,那就是决定把什么样的日志发送到日志服务器呢?再点左边的:Objectives Configuration,如下所示:

  这个修改就要看个人的需求是什么样的了,我这里就不多说了.全部完成后记得点左边的:Apply the Latest Audit Configuration 来应用所有的配置!当然Snare还有其它的功能,比如远程操控这个代理软件,自己多摸索吧
  附加上win下的软件包如下: SnareSetup-3.1.3-MultiArch.zip (634.2 KB)
4. Troubleshooting

4.1.1. 点击Syslog插件报错
  Warning: include(./include/html/inc_timespan_settings.php)
  报126行有错:
  include($syslog_config[&quot;graphtime&quot;] ?&quot;./include/html/inc_timespan_settings.php&quot; : &quot;plugins/syslog/html/syslog_timespan_settings.php&quot;);
  修改126行为:
  include($syslog_config[&quot;graphtime&quot;] ? &quot;././lib/timespan_settings.php&quot; : &quot;plugins/syslog/html/syslog_timespan_settings.php&quot;);
  但是,针对cactiV9.1.iso版本的安装syslog-ng的时候,不会出现这个问题。其配置文件内容如下:
  include($syslog_config[&quot;graphtime&quot;] ? &quot;./include/html/inc_timespan_settings.php&quot; : &quot;plugins/syslog/html/syslog_timespan_sett ings.php&quot;);

5. Other thing

5.1.1. 使用默认的syslog
  使用默认的syslog做为syslog-ng的客户端,这样可以避免在太多客户端的情况下需要安装syslog-ng软件,而且配置更容易.
  [root@Teasure ~]# vim /etc/syslog.conf
  
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
  # Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none @192.168.1.198
  # The authpriv file has restricted access.
authpriv.* /var/log/secure
  # Log all the mail messages in one place.
mail.* -/var/log/maillog
  
# Log cron stuff
cron.* /var/log/cron
cron.* @192.168.1.198
  # Everybody gets emergency messages
*.emerg *
  # Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
  # Save boot messages also to boot.log
local7.* /var/log/boot.log
local7.* @192.168.1.198
  其中有@标识的就是把日志发送到日志服务器的,例如:
  cron.* @192.168.1.198
  这一行表示把cron的日志发送到日志服务器192.168.1.198上面去.
  原来的配置我并没有改动,因为这样就可以保持原来的日志一样写入到本地.方便查看.
5.1.2. 完成配置后重启syslog服务
  [root@Teasure syslog-ng]# service syslog restart
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
6. 防火墙配置

6.1.1. 在日志服务器上放行514端口
  在日志服务器上要让iptables允许514端口通过,不然服务器无法接收到客户端的日志信息。
  加两条规则,如下:
  [root@Teasure ~]# iptables –A INPUT -m state --state NEW -m tcp -p tcp --dport 514 -j ACCEPT
  [root@Teasure ~]# iptables –A INPUT -p udp -m state -m udp --dport 514 --state NEW -j ACCEPT




运维网声明 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-662166-1-1.html 上篇帖子: cacti0.8.7g在Windows下的安装配置(二) 下篇帖子: 安装CACTI后 在服务器端的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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