CentOSの外部リポジトリの設定

概要

CentOSにて外部リポジトリを追加した時のメモ

公式wiki

AdditionalResources/Repositories - CentOS Wiki

ここを参照して公式に認定?しているリポジトリを選ぶとよさそう。

よって、有名なRPMForgeでも、もう使っては駄目。

RPMForge/RepoForge - This is a dead project. Not maintained. DO NOT USE.

Epel

公式wikiから辿って、rpmをダウンロードしてインストールするとEpelリポジトリが使える。 Epelに限らずこの方法で追加していけそう。

http://fedoraproject.org/wiki/EPEL

カーネルのソースなど

HowTos/I need the Kernel Source - CentOS Wiki

↑で書かれている下記URL(Cent6系の場合)で直接kernelソースパッケージをwgetでダウンロードするか、

下記URLが記載されたリポジトリを自分で作成する。 この場合、カーネルに限らず、このURLの中にあるソースパッケージをyumでダウンロード出来るはず。

nagiosとVirtualHost

概要

nagiosのcheck_httpを使ってApacheの監視をした時のメモ。

check_http

apacheでVirthalHostの設定を入れた場合、リクエストに含まれるHostsヘッダーを参照し、「ServerName」と一致するブロックを探しだす。 よって、check_httpの引数にドメインを指定する場合はHostsヘッダーが必須となり、Hオプションを使用しないと正常に動作しない。Hオプションでドメインを指定するとそれがHostsヘッダーの値となる。 Iオプションの場合だとHostsヘッダーを使用しない。

参考

www.adminweb.jp

デフォルトゲートウェイ

概要

ネットワークを勉強したときのメモ。

デフォルトゲートウェイ

例えばIPが192.168.100.90のホストにてデフォルトゲートウェイに192.168.0.1など、異なるセグメントのIPを指定することはできない。 当たり前か。。泣 よって、セグメントが異なるホストがいれば、GWは異なる。

標準エラー出力

概要

標準エラー出力のメモ

2>&1

cat aaa > bbb.txt 2>&1

cat aaa > bbb.txtだと標準出力だけファイルに cat aaa 2> bbb.txtだと標準エラー出力だけファイルに

標準エラーも標準出力も(この場合ファイルに)出力したい場合などに利用。

デフォルトはどっちもシェルがその時に結びついている端末

参考

www.int-infra.net

nagios check_snmp

概要

nagiosのnrpeを用いたcheck_snmp監視を実施した際のメモ。

差分 --rate

ネットワークの量を求めるにはある時点とある時点の差分が必要。ある時点だけ高いなどあるからだと思われる。 SNMPはカウンタを用いて差分を求めるようにしている様子。カウンタはネットワークの総量との認識。

--rate-multiplier 8

計算の間隔を8秒にする。8秒にすることで単位をbpsにすることができる。

わかりにくいところ

差分を求める際に、ある時点からある時点への時間が10分だとした時に--rate-multiplier 8だと8秒ずつで区切って計算された 値が平均され取得されると思われる。

コマンドラインから試してみた

だいたい同じ値になるので、そうではなかろうか。

30秒
SNMP RATE CRITICAL - *26882812.12* | IF-MIB::ifHCOutOctets.3=26882812.12;5000000;10000000;

300秒
SNMP RATE CRITICAL - *27400005.63* | IF-MIB::ifHCOutOctets.3=27400005.63;5000000;10000000; 

Kibana5

概要

kibanaを5にUpdateした際にアクセスが出来なかったときのめも。

/etc/kibana/kibana.yml

netstat

netstat -tnpa

まとめ

kibanaにかぎらずブラウザからアクセスできずアプリケーションのログも出ない場合 netstatで正常にIPアドレスがアプリケーションにバインドされているかを確認すること。大事なり。

プロセス状態

概要

プロセスの状態について調べたことのメモ。

sleeping

とあるホストでpsコマンドを叩くとほとんどプロセスの状態がsleepになっていた。

$ ps auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    Nov16   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [migration/0]
root         4  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [stopper/0]
root         6  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [watchdog/0]
root         7  0.0  0.0      0     0 ?        S    Nov16   0:08  \_ [events/0]
root         8  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [events/0]
root         9  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [events_long/0]
root        10  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [events_power_ef]
root        11  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [cgroup]
root        12  0.0  0.0      0     0 ?        S    Nov16   0:00  \_ [khelper]

・
・
root         1  0.0  0.0  19232  1236 ?        Ss   Nov16   0:01 /sbin/init
root       537  0.0  0.0  11248   344 ?        S<s  Nov16   0:00 /sbin/udevd -d
root      1628  0.0  0.0  12400   552 ?        S<   Nov16   0:00  \_ /sbin/udevd -d
root      1629  0.0  0.0  12400   552 ?        S<   Nov16   0:00  \_ /sbin/udevd -d
root      1155  0.0  0.0  27596   712 ?        S<sl Nov16   0:00 auditd
root      1177  0.0  0.0 249088  1264 ?        Sl   Nov16   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
rpc       1203  0.0  0.0  18980   512 ?        Ss   Nov16   0:00 rpcbind
root      1362  0.0  0.0 200108  1432 ?        S    Nov16   0:19 /usr/sbin/snmpd -LS0-6d -Lf /dev/null -p /var/run/snmpd.pid
root      1388  0.0  0.0  66236   604 ?        Ss   Nov16   0:00 /usr/sbin/sshd
root     20200  0.0  0.0 102084  4464 ?        Ss   07:56   0:00  \_ sshd: root@pts/0 
root     20206  0.0  0.0 111880  5592 pts/0    Ss   07:56   0:00      \_ -bash
root     23654  3.0  0.0 110352  1152 pts/0    R+   08:30   0:00          \_ ps auxf

実行可能状態のプロセスはこのコマンドを打ったpsのみ。他は全部S。

straceで処理をみる

straceでどんな処理をしているのかを見てみた。

適当にプロセスを選ぶ

$ strace -p 1615
Process 1615 attached
read(0, 
$ strace -p 1388
Process 1388 attached
select(6, [3], NULL, NULL, NULL

別の端末でvmstat 1で1秒おきに表示

root     24143  1.3  0.0 102084  4340 ?        Ss   08:38   0:00  \_ sshd: root@pts/1 
root     24149  1.0  0.0 111896  5528 pts/1    Ss   08:39   0:00      \_ -bash
root     24185  0.0  0.0   6260   696 pts/1    S+   08:39   0:00          \_ vmstat 1

vmstatをstraceでみてみた。これもpsでみるとS

$ strace -p 24185
Process 24185 attached
restart_syscall(<... resuming interrupted call ...>) = 0
lseek(3, 0, SEEK_SET)                   = 0
read(3, "MemTotal:        8001920 kB\nMemF"..., 2047) = 1170
lseek(4, 0, SEEK_SET)                   = 0
read(4, "cpu  717231 881 184526 16100359 "..., 65535) = 1152
lseek(5, 0, SEEK_SET)                   = 0
read(5, "nr_free_pages 1161281\nnr_inactiv"..., 2047) = 1912
write(1, " 0  0  23164 4645124 206708 2733"..., 85) = 85
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7ffd056041d0)       = 0

なぜsleepだけなのか

straceでプロセスをみると、readやwriteやsleepなどの処理が実行されている。たぶん、プロセスの処理の中でこれが大半を占めていて、待ちになっている割合のほうが多いと思われる。もちろんそれ以外のプログラムの箇所もあるだろうが、わずかで一瞬で終わるのじゃないだろうか。Rの状態はあるけれども一瞬過ぎてpsなどでは捉えられない?