Soru Munin'in akıllı eklentisi, çıkış kodundan dolayı geçmişte bir hata bildirmeye devam ediyor


Benim hosting sağlayıcısı geçmişte bir tür hata vardı gibi görünüyor ama tam bir çevrimdışı akıllı kontrol şu anda her şey (yaklaşık) olduğunu gösterdi benim sunucuya bir sabit disk takmış. Sunucunun bir RAID1'i var, bu yüzden bu durumla biraz yaşayabiliyorum.

Sorun şu ki (man sayfasına göre) smartctl, geçmişte bir hata varsa, no 6'yı ayarlar, bu yüzden şimdi her şey yolundayken, çıkış kodu sayısal 64'tür.

Akıllı eklenti varsayılan olarak 0 eşik değerine sahip olacak şekilde yapılandırıldı ve ben 64'e kadar olan eşiği ayarlayabildiğimi bilerek, çok daha önemli bir bit 3 "diskin başarısız olduğunu" gözden kaçırırdım.

Bir eşiği bir şekilde ayarlamanın bir yolu var mıdır ki munin bu değerin bitlenmesini kıyaslıyor mu?


6
2017-12-28 15:11


Menşei




Cevaplar:


Sonunda akıllı eklentiyi yamaya başvurdum. Sürümünüze bağlı olarak böyle bir kod var:

        if exit_status!=None :
            # smartctl exit code is a bitmask, check man page.
            num_exit_status=int(exit_status/256)

bununla değiştirin

        if exit_status!=None :
            # smartctl exit code is a bitmask, check man page.
            num_exit_status=int(exit_status/256)
            # filter out bit 6
            num_exit_status &= 191
            if num_exit_status<=2 :
                exit_status=None

        if exit_status!=None :

En ilginç kısım, 191 ile bitsel işlemin olduğu hattır: bu ikilide 0x11011111'dir, bu yüzden geçerli değerle bir AND işlemi yapmak, diğer değerleri el değmeden bırakırken sadece 6 ila 0 değerini ayarlayacaktır.

Bu nedenle, 64 değeri (benimki gibi) 0 olarak bildirilirken 8 değeri 8 olarak kalır. Fakat aynı zamanda, çok önemlisi, 72 değeri (bit 6 her zaman olduğu gibi ayarlanmış ve disk 3 başarısız olduğundan bit 3 ) ayrıca 8 rapor eder.


5
2017-12-28 15:11





Munin kaynaklarını değiştirmeden bu sorunu önlemek için bulduğum tek yolu kullanmaktan kaçınmaktı. -a smartctl ile seçenek, ör. böyle bir şey kullanmak /etc/munin/plugin-conf.d/munin-node:

[smart_sda]
env.smartargs -H -i -c -A -l selftest -l selective

(ör. normal olarak dahil edilen tüm seçenekler -a  dışında için -l error).


2
2017-08-22 14:21



Aslında eklenti kaynaklarına baktıktan sonra, bunu daha iyi idare edebilmek için bir yama yapmaya karar verdim ve sadece birleşmiş munin içine, bu yüzden sonraki sürümü sadece belirtmek için izin vermelidir env.ignoreexit 64 yapılandırma dosyasında. - VZ.