[CentOS][Zabbix] 今朝が不調だったZabbixでStack Traceが吐かなくなった原因っぽいもの。

     
    • 最終更新日時:-0001/11/30 00:00:00

    いつか、そのとき、あの場所で。 | [CentOS][Zabbix] CentOS 6.4+Zabbixな環境で、Continuous Releaseを適用したらZabbixが絶不調になった。 /
    http://kometchtech.blog45.fc2.com/blog-entry-1285.html

    今朝方、上記のようなエントリーを書いたわけですが、Stack Traceからネットワークインターフェース周りが怪しいなぁと思い、色々と見回していたところ、/etc/rc.local に以下の様な設定を書いているのを忘れていました。

    /sbin/ifconfig eth0 txqueuelen 10000

    Zabbixのデータをさばくためにはキューを拡張しておいたほうが良いだろういう当時の判断だったと思いますが、とりあえずこれを無効にし、Kernelを再度2.6.32-431.el6.x86_64に戻したところ、Stack Traceを吐くことなく正常に動作することを確認しました。

    ただ、この問題が以前までは出てこなかったので、2.6.32-431.el6.x86_64でネットワークインターフェース周りの何かが改善され、それが関係しているのかなぁと個人的に判断しているところです。

    詳細をご存じの方は是非ともご教授ください。



    関連記事

    [CentOS][Zabbix] CentOS 6.4+Zabbixな環境で、Continuous Releaseを適用したらZabbixが絶不調になった。

     
    • 最終更新日時:-0001/11/30 00:00:00

    AdditionalResources/Repositories/CR - CentOS Wiki /
    http://wiki.centos.org/AdditionalResources/Repositories/CR

    RHEL 6.5が公開され、徐々にですがCentOS側にもバックポートがされるようになってきました。そのうち、先んじてバックポートされるレポジトリである、The Continuous Release ( CR ) Repositoryがあります。

    自宅Zabbixサーバとして利用しているサーバに早速適用したところ、Zabbixでの一覧やグラフ描画が著しく遅い症状が見られました。最初はDBが悪いのかと思い、MySQLを5.1から5.5へ変更したり、さらにDBのチューニングをしたりしましたが一向に改善せずにいました。

    朝食をとってふと/var/log/messagesをみたところ、以下の様なメッセージが出ていることにようやく気が付きました。
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_xmit+0x44a/0x520 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? inet6_csk_xmit+0x298/0x320 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_transmit_skb+0x40e/0x7b0
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_write_xmit+0x230/0xa90
    Nov 30 08:03:26 zabbix kernel: [] ? __tcp_push_pending_frames+0x30/0xe0
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_data_snd_check+0x33/0x100
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_rcv_established+0x3dd/0x7f0
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_v6_do_rcv+0x38d/0x6a0 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_pol_route_input+0x1f/0x30 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_v6_rcv+0x5af/0x8d0 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? pull_task+0x4e/0x60
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_input_finish+0x16a/0x410 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_input+0x58/0x60 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_rcv_finish+0x3f/0x50 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ipv6_rcv+0x388/0x460 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? __netif_receive_skb+0x4ab/0x750
    Nov 30 08:03:26 zabbix kernel: [] ? process_backlog+0x9a/0x100
    Nov 30 08:03:26 zabbix kernel: [] ? net_rx_action+0x103/0x2f0
    Nov 30 08:03:26 zabbix kernel: [] ? kvm_clock_read+0x1c/0x20
    Nov 30 08:03:26 zabbix kernel: [] ? __do_softirq+0xc1/0x1e0
    Nov 30 08:03:26 zabbix kernel: [] ? call_softirq+0x1c/0x30
    Nov 30 08:03:26 zabbix kernel: [] ? do_softirq+0x65/0xa0
    Nov 30 08:03:26 zabbix kernel: [] ? irq_exit+0x85/0x90
    Nov 30 08:03:26 zabbix kernel: [] ? smp_call_function_single_interrupt+0x35/0x40
    Nov 30 08:03:26 zabbix kernel: [] ? call_function_single_interrupt+0x13/0x20
    Nov 30 08:03:26 zabbix kernel: [] ? native_safe_halt+0xb/0x10
    Nov 30 08:03:26 zabbix kernel: [] ? default_idle+0x4d/0xb0
    Nov 30 08:03:26 zabbix kernel: [] ? cpu_idle+0xb6/0x110
    Nov 30 08:03:26 zabbix kernel: [] ? start_secondary+0x2ac/0x2ef

    Nov 30 08:03:22 zabbix kernel: [] ? default_idle+0x4d/0xb0
    Nov 30 08:03:22 zabbix kernel: [] ? cpu_idle+0xb6/0x110
    Nov 30 08:03:22 zabbix kernel: [] ? start_secondary+0x2ac/0x2ef
    Nov 30 08:03:22 zabbix kernel: ---[ end trace 9cc09b39f1be08e8 ]---
    Nov 30 08:03:26 zabbix kernel: ------------[ cut here ]------------
    Nov 30 08:03:26 zabbix kernel: Hardware name: Bochs
    Nov 30 08:03:26 zabbix kernel: : caps=(0x180260, 0x180269) len=2954 data_len=0 ip_summed=3
    Nov 30 08:03:26 zabbix kernel: Call Trace:
    Nov 30 08:03:26 zabbix kernel: [] ? warn_slowpath_common+0x87/0xc0
    Nov 30 08:03:26 zabbix kernel: [] ? warn_slowpath_fmt+0x46/0x50
    Nov 30 08:03:26 zabbix kernel: [] ? dev_queue_xmit+0x228/0x320
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_output_finish+0x8a/0x120 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_output2+0x2bb/0x2d0 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_output+0x85/0x140 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_xmit+0x44a/0x520 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? inet6_csk_xmit+0x298/0x320 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_transmit_skb+0x40e/0x7b0
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_write_xmit+0x230/0xa90
    Nov 30 08:03:26 zabbix kernel: [] ? __tcp_push_pending_frames+0x30/0xe0
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_data_snd_check+0x33/0x100
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_rcv_established+0x3dd/0x7f0
    Nov 30 08:03:26 zabbix kernel: [] ? tcp_v6_do_rcv+0x38d/0x6a0 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_pol_route_input+0x1f/0x30 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? ip6_rcv_finish+0x3f/0x50 [ipv6]
    Nov 30 08:03:26 zabbix kernel: [] ? process_backlog+0x9a/0x100
    Nov 30 08:03:26 zabbix kernel: [] ? __do_softirq+0xc1/0x1e0
    Nov 30 08:03:26 zabbix kernel: [] ? call_softirq+0x1c/0x30
    Nov 30 08:03:26 zabbix kernel: [] ? native_safe_halt+0xb/0x10
    Nov 30 08:03:26 zabbix kernel: [] ? default_idle+0x4d/0xb0
    Nov 30 08:03:26 zabbix kernel: [] ? cpu_idle+0xb6/0x110
    Nov 30 08:03:26 zabbix kernel: [] ? start_secondary+0x2ac/0x2ef
    Nov 30 08:03:26 zabbix kernel: ---[ end trace 9cc09b39f1be08e9 ]---

    盛大にStack Traceを吐いています。見た感じNWとIPv6周りのようにみえますが、私にはTrace結果を読む力が無いのでこれ以上は問題の解決に至らず。結局はCR適用前のKernelに切り戻して問題を一時回避することにしました。

    というわけで調べることもしないで初物に手を出すと痛い目にあうという備忘録でした。

    参考:
    日本HP_Linux_サポート_ディストリビューション毎の機能対応表_Miracle 5.0, RHEL5, RHEL6, SLES10, SLES11_Kernel 2.6(x86, x86_64共通) /
    http://h50146.www5.hp.com/products/software/oe/linux/mainstream/support/matrix/index_26_01.html

    CentOS • View topic - 6.5 Builds Underway /
    https://www.centos.org/forums/viewtopic.php?f=41&t=42964



    絶対わかる! Linuxカーネル完全入門 (日経BPパソコンベストムック)絶対わかる! Linuxカーネル完全入門 (日経BPパソコンベストムック)
    (2013/04/17)
    日経Linux

    商品詳細を見る




    関連記事

    [CentOS][起動スクリプト] UnboundおよびNSD4がboot時に起動してこないことに対処してみた。

     
    • 最終更新日時:-0001/11/30 00:00:00

    自宅環境でKVM上で動作しているCentOS 6.4 x64なサーバがあるのですが、その上でUnboundとNSD4を動かし宅内DNSサーバとして稼働させています。
    しかしながら以前から掲題のような問題が発生していました。

    問題の出た環境;

    # cat /etc/redhat-release
    CentOS release 6.4 (Final)

    # unbound-control status
    version: 1.4.22
    verbosity: 2
    threads: 2
    modules: 2 [ validator iterator ]
    uptime: 2345 seconds
    unbound (pid 1145) is running...

    # nsd-control status
    version: 4.0.0
    verbosity: 1
    ratelimit: 200


    # cat /var/log/boot.log
    FATAL: Module scsi_wait_scan not found.
    Welcome to CentOS
    Starting udev: [ OK ]
    ~中略~
    Starting nsd4... [FAILED]
    Starting unbound: Nov 27 22:45:15 unbound[1097:0] error: can't bind socket: Cannot assign requested address
    Nov 27 22:45:15 unbound[1097:0] debug: failed address 2001:xxxx:xxxx:xxxx:xxxx::249 port 53
    Nov 27 22:45:15 unbound[1097:0] fatal error: could not open ports
    [FAILED]

    # tail /var/log/nsd4/nsd4.log
    [1385559915] nsd[1083]: error: can't bind udp socket: Cannot assign requested address
    [1385559915] nsd[1083]: error: server initialization failed, nsd could not be started

    どうやら、ネットワークインターフェースにIPv6アドレスが付与されるまでの間にサービスが起動しようとして、紐付けが出来なくて起動に失敗しているようです。ただし、bootが終わったあと普通にservice unbound start など実行すれば正常に起動してくるので、単純に起動時のヒモ付の問題だけのようです。
    そのことをTwitterで呟いたところ、@wakadannacom さんからアドバイスが。






    というありがたいあどばいすを頂いたので、拙い知識ではありますが、起動スクリプトを修正してみることにしました。

    具体的には、起動スクリプトのstart句の部分に、ネットワークインターフェースがupしているかどうかの判定をいれ、起動していないようであればSleepさせて起動を待つ、というような感じにしています。
    # starting wait
    # Source networking configuration.
    . /etc/sysconfig/network # check net-if up

    if [ $NETWORKING = "no" ]; then
    sleep 3
    fi;

    これで再起動を実施してみたところ、無事に起動してくることを確認しました。
    # cat /var/log/boot.log
    FATAL: Module scsi_wait_scan not found.
    Welcome to CentOS
    Starting udev: [ OK ]
    Setting hostname dns1.kometch.local: [ OK ]
    Remounting root filesystem in read-write mode: [ OK ]
    Mounting local filesystems: [ OK ]
    Enabling /etc/fstab swaps: [ OK ]
    Entering non-interactive startup
    Starting monitoring for VG VolGroup: 2 logical volume(s) in volume group "VolGroup" monitored
    [ OK ]
    Bringing up loopback interface: [ OK ]
    Bringing up interface eth0: [ OK ]
    Starting sshd: [ OK ]
    Starting ntpd: [ OK ]
    Starting nsd4... [ OK ]
    Starting unbound: [ OK ]
    Starting tuned: [ OK ]
    Starting Zabbix agent: [ OK ]
    Starting crond: [ OK ]

    今回はunboundもNSDもソースからコンパイルし、その中に入っているinitファイルを使用してこの問題に直面しましたが、他の方でこの問題に遭遇している人はいないのか気になっています。

    また、今回の問題の対処方法以外にも以下のような方法もあるようです。


    ただ、今回は起動スクリプト中にしっかりと「Required-Start: $network」が指定されているにもかかわらず、それに準じた動きをしていないのが、非常に気になりました。この辺りの事情をご存じの方がいらっしゃいましたら、是非ともご教授ください。

    今回の問題に付き合っていただいた@wakadannacom さん、本当にありがとうございました。

    参考:
    LSBInitScripts - Debian Wiki /
    https://wiki.debian.org/LSBInitScripts



    DVD付 CentOS徹底入門 第3版DVD付 CentOS徹底入門 第3版
    (2012/03/09)
    中島 能和、飛田 伸一郎 他

    商品詳細を見る


    Linuxエンジニア養成読本 [仕事で使うための必須知識&ノウハウ満載!] (Software Design plus)Linuxエンジニア養成読本 [仕事で使うための必須知識&ノウハウ満載!] (Software Design plus)
    (2011/04/08)
    SoftwareDesign編集部

    商品詳細を見る





    関連記事

    [備忘録][処方箋] 30回目のお薬。大分良くなってきたとのこと。

     
    • 最終更新日時:2016/10/02 17:19:01

    名称色・形・記号用法服用タイミング
    アモキサンカプセル25mg淡赤褐:白/赤1夕食後服用内服薬    1cap
    ジェイゾロトフ錠50mg白/楕円形1夕食後服用内服薬    1錠
    ドグマチール錠50mg白帯/黄白/錠1夕食後服用内服薬    1錠
    リボトリール錠2mg白/錠1夕食後服用内服薬    1錠

    相変わらず通院生活が続いています。
    医師に近況を報告したところ、そろそろ負荷を増やしていってもいいのではないかとのこと。というか今まで緩やかな期間が長過ぎると忠告を受けました。そうしないと社会復帰が難しくなるよ、と言われたので、リハビリ先と相談しながらうまい勤務時間を見つけていければいいなぁと思います。


    医者の私が薬を使わず「うつ」を消し去った20の習慣医者の私が薬を使わず「うつ」を消し去った20の習慣
    (2012/09/24)
    宮島 賢也

    商品詳細を見る




    関連記事

    [zabbix][テンプレート] Zabbixテンプレートの配布場所について。

    • 2013/11/28 10:38:48
    • Category: zabbix
     
    • 最終更新日時:-0001/11/30 00:00:00

    Zabbix Templates/Official Templates - Zabbix.org /
    https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates

    自宅環境のZabbix2.0.9から2.2.0へアップグレードしてから気がついたのですが、2.2.0からの新機能であるVMware監視に関するテンプレートは、アップグレードする手順だと付いてきません。


    九龍的日常 : 【 Zabbix 2.2 】最速?Zabbix2.0と2.2のserver.conf比較 #Zabbix #自宅ラック勉強会 - livedoor Blog(ブログ) /
    http://blog.livedoor.jp/qryuu/archives/52078379.html

    お馴染みくりゅーさんも指摘されているのですが、別途2.2環境を作成して、そちらからエクスポートしてきてインポートするしか方法がないところでした。

    が、よく探してみると、オフィシャルで用意している全てのテンプレートについて配布されていることが分かりました。これで、別途2.2環境を用意しなくても必要なテンプレートを手に入れることが出来ます。

    まぁ、面倒なことをしなくても大丈夫だよという備忘録でした。

    追記:2013年11月28日 11時02分
    Zabbixにお詳しいくりゅーさんから以下のアドバイスを頂きました。アップデートを行い、そのままテンプレートをインポートすると、トリガーやグラフの依存関係でインポート出来ないことがあるそうです。ご注意ください。








    関連記事

    [KVM][自分用メモ] KVM上の仮想マシンのスナップショットの操作方法。

     
    • 最終更新日時:-0001/11/30 00:00:00

    Etsukata blog: virsh で 仮想マシンのスナップショットを取る /
    http://blog.etsukata.com/2013/07/virsh.html

    自宅環境のKVMで少し仮想マシンを弄らないといけなくなったのですが、とりあえずの手段としてスナップショットを取って保険とするために、ちょっと操作方法について調べてみました。

    1. スナップショットの取得
    # virsh snapshot-create-as centos6_test snapshot1 "snapshot create"
    Domain snapshot snapshot1 created

    2. 取得したスナップショットの一覧
    # virsh snapshot-list centos6_test
    Name Creation Time State
    ------------------------------------------------------------
    snapshot1 2013-11-23 09:17:15 +0900 running

    3.取得したスナップショットの情報
    # virsh snapshot-info centos6_test snapshot1
    Name: snapshot1
    Domain: centos6_test
    Current: yes
    State: running
    Location: internal
    Parent: -
    Children: 0
    Descendants: 0
    Metadata: yes

    4. スナップショットの切り戻し
    # virsh snapshot-revert centos6_test snapshot1

    5. 現在使用しているスナップショットの情報取得
    # virsh snapshot-info centos6_test --current
    Name: snapshot1
    Domain: centos6_test
    Current: yes
    State: running
    Location: internal
    Parent: -
    Children: 1
    Descendants: 1
    Metadata: yes

    6. 取得したスナップショットの削除
    # virsh snapshot-delete centos6_test snapshot2
    Domain snapshot snapshot2 deleted

    7. スナップショットが削除されたか確認
    # virsh snapshot-list centos6_test
    Name Creation Time State
    ------------------------------------------------------------
    snapshot1 2013-11-23 09:17:15 +0900 running


    ということで、自分用のメモとして残しておきます。







    関連記事

    [chrony][自分用メモ] chronyでネットワークに問題がないのに、offlineでサービスが起動してしまう問題を対処してみた。

     
    • 最終更新日時:-0001/11/30 00:00:00

    自宅の時刻合わせ環境ではntpdとchronyを併用しているのですが、そのうちの一台、chronyを導入しているサーバで何故かネットワークに問題が無いのに、offline状態で起動してくる事に気が付きました。

    作業環境:
    % lsb_release -d
    Description: Ubuntu 13.10

    % sudo service  chrony  restart
    Restarting time daemon: Starting /usr/sbin/chronyd...
    chronyd is running and offline.

    chrony.confを見なおしても問題ないようにみえるので悩んでいたところ、initファイルの以下の部分が気になりました。
    # putonline ()
    { # Do we have a default route? If so put chronyd online.
    if timelimit -q -s9 -t5 -- netstat -rn 2>/dev/null | grep -q '0\.0\.0\.0'
    then
    sleep 2 # Chronyd can take a while to start.
    KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf)
    PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys`
    # Make sure chronyc can't hang us up.
    if timelimit -q -s9 -t5 -- /usr/bin/chronyc > /dev/null << EOF

    processへのtimelimitを設定する部分でwarntimeを設定する部分が、5秒になっていることでした。
    manによると、warnsigを送信する前に設定されるプロセスの最大実行時間のようです。

    -t warntime
    Specify the maximum execution time of the process in seconds before sending
    warnsig. Defaults to 3600 seconds.


    こちらが短すぎると思い(デフォルトでは3600秒ですし)、60へ変更したところ問題なくonlineで起動してくることを確認しました。
    % sudo service chrony start
    Starting /usr/sbin/chronyd...
    chronyd is running and online.

    ということで自分用メモでした。この件で困っている方がいらっしゃいましたら少しでも助けになれば幸いです。



    関連記事

    [Ubuntu][Kernel] Ubuntu 13.10 のKernelを3.12.1にアップグレードしてみた。

    • 2013/11/25 09:59:54
    • Category: Ubuntu
     
    • 最終更新日時:-0001/11/30 00:00:00

    Kernel 3.12.1 released, Install / Upgrade in Ubuntu Linux Mint | UbuntuHandbook /
    http://ubuntuhandbook.org/index.php/2013/11/install-upgrade-kernel-3-121-ubuntu-linuxmint/

    Ubuntu向けのKernel 3.12.1が公開されていたので、自宅環境に適用してみることにしました。

    % lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 13.10
    Release: 13.10
    Codename: saucy

    ※私の環境はx64です。

    % cd /tmp

    1. Kernel関係ファイルをダウンロードする。
    % wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.1-trusty/linux-headers-3.12.1-031201-generic_3.12.1-031201.201311201654_amd64.deb
    % wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.1-trusty/linux-headers-3.12.1-031201_3.12.1-031201.201311201654_all.deb
    % wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.1-trusty/linux-image-3.12.1-031201-generic_3.12.1-031201.201311201654_amd64.deb

    2. ダウンロードしたファイルをインストールする。
    % sudo dpkg -i linux-headers-3.12.1-*.deb linux-image-3.12.1-*.deb

    3. 念のためgrubをupdateしておく。
    % sudo update-grub2

    4. 再起動を実施する。
    % sudo reboot

    5. Kernelがupgradeされていることを確認する。
    % uname -r
    3.12.1-031201-generic


    Kernel 3.12.1の更新内容については以下に記載がありますので参照してください。

    LKML: Greg KH: Linux 3.12.1 /
    https://lkml.org/lkml/2013/11/20/512






    関連記事

    [IYH][追跡] ようやく国内に入ってきた。 #IYHstudy

    • 2013/11/23 09:02:50
    • Category: 雑記
     
    • 最終更新日時:-0001/11/30 00:00:00

    Track your package or shipment with FedEx Tracking

    フランス、インド、上海を経由してようやく成田に入ってきました。
    ただし、平日配送になっているので、早くても月曜日なのかなと。早く来ないかな・・・






    関連記事

    Pagination

    Utility

    Profile

    kometch

    Author:kometch
    なんちゃってエンジニアです。
    2009年10月から業務都合により大阪勤務になりました。
    2010年1月、HYBRID W-ZERO3を購入しました。
    2010年11月、HTC Desire HDを購入しました。
    2012年2月、都内の会社に転職しました。
    2012年5月、HTC One Xを購入しました。
    2012年8月、事情により休職しました。
    2012年8月、SONY Xperia SXを購入しました。
    2013年1月、一身上の都合により退職しました。
    2014年3月、都内の会社に就職しました。
    2016年8月、HPC系の会社に転職しました。

    Amazonほしい物リスト
    何か問題などありましたら、こちらまで。 Twitter:@kometchtech follow us in feedly

    カレンダー

    10 | 2013/11 | 12
    - - - - - 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

    全記事(数)表示

    全タイトルを表示

    バロメーター

    カテゴリー

    カテゴリークラウド

    アーカイブ

    検索フォーム

    FC2カウンター

    現在の閲覧者数

    現在の閲覧者数:

    Amazonアソシエイト

    スポンサードリンク

    月間ページランキング

    ブログパーツ

    サイトランキング

    スポンサードリンク

    スポンサードリンク