fluentdでsyslogを受信する設定の関連で、ちゃんとsyslogを受信できるのか調べる必要がありました。
送信する方も正しいか切り分けできていなかったので、syslogの送信テストをしたいと思った所、[ここのサイト](http://www.hiihah.info/index.php?Linux:syslog転送テスト)に素敵なサンプルがありました。
ポートを指定してsyslogを送りたかったので、少し改造してポート指定できるように変更しました。
```perl
`gutter:true;;
コードの記載
#!/usr/bin/perl
use strict;
use warnings;
use Sys::Syslog qw(:DEFAULT setlogsock);
if (@ARGV != 4){
print "usage syslogtest.pl [target_host[:port]] [facility] [priority] [msg]\n";
print "priority is error|warning|debug|info\n";
exit(1);
}
my $ident = "send-syslog-test";
my $logopt = "pid";
my $port = 514;
my ($sv, $facility, $priority, $msg ) = @ARGV;
# ポート指定されていればポートを取得する
if ($sv =~ /([^:]+):([0-9]+)/) {
$sv = $1;
$port = $2;
}
setlogsock({type => "udp", port => $port});
$Sys::Syslog::host = $sv;
openlog($ident, $logopt, $facility);
syslog($priority, $msg);
closelog();
```
## 参考URL
* [Linux:syslog転送テスト](http://www.hiihah.info/index.php?Linux:syslog転送テスト)
* [Sys::Syslog](http://perldoc.perl.org/Sys/Syslog.html)
0 件のコメント :
コメントを投稿