
fluentdでsyslogを受信する設定の関連で、ちゃんとsyslogを受信できるのか調べる必要がありました。
送信する方も正しいか切り分けできていなかったので、syslogの送信テストをしたいと思った所、ここのサイトに素敵なサンプルがありました。
ポートを指定してsyslogを送りたかったので、少し改造してポート指定できるように変更しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | コードの記載 #!/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(); |
0 件のコメント :
コメントを投稿