Skip to content

Instantly share code, notes, and snippets.

@froop
froop / rsyslog-bug4227.md
Created March 14, 2021 06:04
[rsyslog] TCP による syslog 転送が時々失敗する

[rsyslog] TCP による syslog 転送が時々失敗する

rsyslog パッケージの omfwd モジュールによる TCP 通信において、サーバ側からの切断があった際に、その後の初回通信に失敗する。クライアント側 /etc/rsyslog.conf の action 設定は下記。

  • type="omfwd"
  • Protocol="tcp"

その後、次回通信時に下記メッセージを出力。PRIは<43>(syslog.err)。

@froop
froop / CommandExec.java
Last active July 4, 2021 10:42
[Java] 外部プロセスが終了したら、それ以降の標準出力・エラー出力を捨てる
/*
* 外部プロセスが終了したら、それ以降の標準出力・エラー出力を捨てる。
* 参考: FIO07-J. 外部プロセスに IO バッファをブロックさせない - JPCERT/CC
* https://www.jpcert.or.jp/java-rules/fio07-j.html
*/
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
class StreamGobbler extends Thread {
@froop
froop / stress_snmptrap.py
Last active January 20, 2022 21:50
[Python] snmptrap負荷テスト
import subprocess
import time
import datetime
for i in range(10000):
time.sleep(0.01)
command = 'snmptrap -v 2c -c public 172.31.1.11 "" netSnmpExperimental netSnmpExperimental.1 s "%08d" netSnmpExperimental.2 s "%s"' % (i, datetime.datetime.now().time())
subprocess.check_call(command, shell=True)
@froop
froop / stress_syslog.py
Last active January 20, 2022 21:46
[Python] syslog負荷テスト
import syslog
import time
import datetime
for i in range(100000):
time.sleep(0.005)
message = '%010d %s' % (i, datetime.datetime.now().time())
syslog.syslog(message)
'''
@froop
froop / scraping_sample.py
Last active January 20, 2022 21:49
[Python] Web scraping sample
import requests
import os
from bs4 import BeautifulSoup
RES_PATH = 'result' # 結果出力先パス
os.makedirs(RES_PATH, exist_ok=True)
root_page = requests.get('https://github.com/froop?tab=repositories')
root_soup = BeautifulSoup(root_page.text, 'html.parser')
<html>
<head>
<style>
input.error {
background-color: red;
}
</style>
<script src="jquery.js"></script>
<script src="jquery.validate.js"></script>
@froop
froop / CSVBuilder.java
Created April 28, 2015 22:16
[Java] CSVテキストを組み立てる
/**
* CSVテキストを組み立てる。
* <nl>
* <li>区切り文字は「,」</li>
* <li>文字列は「"」で囲い、数値はそのまま</li>
* <li>改行コードはLF</li>
* <li>文字列に「"」を含む場合は「""」にエスケープ</li>
* </nl>
*/
public class CSVBuilder {
@froop
froop / ParentURLSample.js
Created February 18, 2015 12:30
[JavaScript] URLの親階層を取得
function getParentURL(url) {
return url.replace(/[^/]*$/, "");
}
var url = location.href;
document.write(url + "<br>");
document.write(getParentURL(url) + "<br>");
@froop
froop / FileRename.java
Created January 31, 2015 07:07
[Java] 指定ディレクトリ下全ファイルのファイル名と内容テキストを一括置換
public class FileRename {
private final Path srcDir;
private final Path destDir;
private final Iterable<RenamePattern> namePatterns;
private final Iterable<RenamePattern> contentPatterns;
private final Charset charset;
public FileRename(Path srcDir, Path destDir,
Iterable<RenamePattern> namePatterns, Iterable<RenamePattern> contentPatterns) {
this(srcDir, destDir, namePatterns, contentPatterns, Charset.defaultCharset());
@froop
froop / TriggerPolling.java
Created January 25, 2015 08:53
[Java] 別スレッドからのtrigger()をポーリングして待ち非同期に処理を実行
public class TriggerPolling implements Runnable {
private final Runnable handler;
private final int interval;
private final AtomicBoolean triggered = new AtomicBoolean();
private volatile boolean shutdown = false;
/**
* @param handler trigger()されたら実行される処理
* @param interval ポーリング間隔(ミリ秒)
*/