怎么使用kiwi syslog,为什么打开某些syslog服务器软件没有显示监听内容
1,Kiwi syslog需要装在某台计算机上(PC或服务器都可),开启服务(可以以服务方式后台运行,否则需一直开启程序,不能关
2,记住这台装有KIWI SYSLOG 服务的IP地址,配置在要记录的设备上,比如放火墙上的SYSLOG SERVER加入这个地址
3,在防火墙上打开要监听的内容的过滤器(FILTER)和级别(LEVEL)
4,在这台装有KIWI SYSLOG 服务的计算机上打开程序,可以实时看到LOG,你可以按设置按钮,设置存入硬盘,可以定义自动时间的文件名,文件大小,空间大小等
操作步骤
1下载evtsys_exe_32zip,解压
2 拷贝解压文件
将解压后的文件拷贝到发送syslog的windows主机的%systemroot%\system32目录下。
3 配置evtsys
通过命令行输入:evtsys -i -h hostname
hostname为syslog服务器的主机名或IP地址,命令成功运行后会在系统增加EventLog to Syslog服务。
4 启动服务
通过命令行输入:net start evtsys来启动服务。
5 更改配置
如果要更改Syslog服务器的地址,则需要通过命令行输入: net stop evtsys evtsys -u
evtsys –i –h newhostname net start evtsys
6 安装3CDaemon
在syslog服务器上安装3CDaemon ,3CDaemon 也有绿色版,直接双击就可运行。
7 配置3CDaemon 的syslog服务
在syslog服务器上启动33CDaemon ,点左边syslog sever的菜单条,设置接收任意IP地址或指定IP地址的Syslog
8 验证
如果配置正确的话,在Syslog服务器上就能接收到客户端发送的Syslog了,客户端操作系统启动时,也会有Syslog发送到Syslog服务器上。
我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。
经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://wwwkiwisyslogcom/),它不仅功能齐全,而且提供免费的版本。
Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。
我还测试了一下把ACE日志写到syslog的功能。过程记录如下:
1)使用klog工具
这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持直接或用重定向的方法输出日志到kiwisyslog。
klog –m "It's almost lunchtime"
DIR | klog -h 19216812 -i
但我试图使用ACE应用日志输出到kiwisyslog时(ace_appexe | klog -h 19216812 -i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出直接重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。
还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。
ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
然后按下面2)的方法转到kiwisyslog。
2)还可以把Windows下的事件日志转到Linux下的syslog
我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
介绍第三方软件evtsys (全称是evntlog to syslog)
文件才几十K大小,非常小巧,解压后是两个文件evtsysdll和evtsysexe
把这两个文件拷贝到 c:/windows/system32目录下。
打开Windows命令提示符(开始->运行输入CMD)
C:/>evtsys –i –h 19216810100
-i 表示安装成系统服务
-h 指定log服务器的IP地址
如果要卸载evtsys,则:
net stop evtsys
evtsys -u
启动该服务:
C:/>net start evtsys
打开windows组策略编辑器 (开始->运行输入 gpeditmsc)
在windows设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。
文件下载
private void DownDate(string filePath, string fileName)
{
FileInfo info = new FileInfo(filePath);
long fileSize = infoLength;
fileName = SystemWebHttpUtilityUrlEncode(fileName, SystemTextEncodingUTF8);
ResponseClear();
ResponseContentType = "application/msword";
ResponseContentEncoding = SystemTextEncodingUTF8;
ResponseAddHeader("Content-Disposition", "attachment;filename=" + fileName);
//不指明Content-Length用Flush的话不会显示下载进度
ResponseAddHeader("Content-Length", fileSizeToString());
ResponseTransmitFile(filePath);
ResponseFlush();
ResponseClose();
}
文件上传
protected void Page_Load(object sender, EventArgs e) {
HttpPostedFile hPostedFile = RequestFiles["Filedata"];
string path = BRC1_ATTACHMENTGetDirectory();
string absolutPath = ServerMapPath(path);
// 验证目录是否可用
if (!FileHelperValidateDirectory(absolutPath)) {
ResponseWrite("找不到指定上传目录");
throw new SystemException("找不到指定上传目录");
}
string fileID = "0";
if (hPostedFile != null) {
string fileName;
//获取上载文件的文件名称
fileName = SystemIOPathGetFileName(hPostedFileFileName);
if (!stringIsNullOrEmpty(fileName)) {
using (OMTransactionScope ts = new OMTransactionScope()) {
string newFileName = stringEmpty;
FileHelperUpLoadFileWithoutValidate(absolutPath, hPostedFile, out newFileName);
C1_ATTACHMENT sFile = new C1_ATTACHMENT();
sFileSCLJ = path + newFileName; // 路径
sFileFJXMC = newFileName; // 新名称
sFileCJSJ = DateTimeNow; // 创建时间
sFileXGSJ = DateTimeNow; // 修改时间
sFileFJJMC = fileName; // 原始文件名
sFileZT = 0; // 状态
sFileLB = 1; // 类别
if (!stringIsNullOrEmpty(thisZBBS))
sFileZBBS = thisZBBS;
if (!stringIsNullOrEmpty(thisZBMC))
sFileZBMC = thisZBMC;
int returnValue = sFileDB_InsertEntity();
if (returnValue > 0) {
// 表示数据库插入成功
fileID = sFileLSHToString();
// 插入日志
//HelperInsertSysLog(this, EButtonRuleTypebtnNew, "增加附件");
// 如果原始实体ID存在,则删除
if (!stringIsNullOrEmpty(thisOLD_File_ID)) {
//BRC1_ATTACHMENTDeleteEntityAndFile(thisOLD_File_ID);
string[] oldID = thisOLD_File_IDSplit(","ToCharArray(), StringSplitOptionsRemoveEmptyEntries);
foreach (string id in oldID) {
BRC1_ATTACHMENTDeleteEntityAndFile(id);
}
}
tsComplete();
} else {
// 表示数据库插入失败
FileHelperDeleteFile(absolutPath + newFileName);
}
}
}
//result = thisDelFile(absolutPath);
}
ResponseWrite(fileID);
ResponseEnd();
}
方法都是类似的,自己看看吧。
使用syslog server 实时监控和保存switch log
由于switch在重新reboot 之后会把logging 清除掉,可以通过建立一个简单的syslog server实时monitor switch的情况。
下载一个第三方的软件去建立syslog server,这里使用的是Syslog Watcher Pro。
clip_image004
switch IP:19216810155 /24
syslog server IP:19216810150 /24
Switch 配置好vlan 1 的管理IP。(两种厂家的命令略有不同)
Marvell-based Switches (Except the 55xx series)
console> enable
console# config
console(config)# username admin password password level 15
console(config)# interface vlan 1
console(config-if)# ip address 19216810155 /24
console(config-if)# end
console# copy run start
Broadcom-based Switches (62xx and Pre 4106 firmware)
console> enable
console# config
console(config)# username admin password password level 15
console(config)# ip address 19216810155 /24
console(config-if)# end
console# copy run start
作为syslog服务器也需要设置好IP,确保两边可以ping通
Switch 上继续做配置
console>enable
console#config
console(config)#logging 19216810150 # IP/HostName
console(config-logging)#level debug #debug level7 以上的log 都会被记录下来
console(config-logging)#end
console#copy run start
Level 0-7
clip_image006
-------------------------------------------------------------------------------------------------------------
从DELL Switch 图形管理界面的设置如下。
点击"Add",然后填入"IP,UDP(default514),faclilit(default L7),SeverityLevel",按确定。
clip_image008
配置好了之后,软件安装好后,直接点击listen 就可以开始工作了。
0条评论