Pemantauan UPS Windows Workstation dengan Network UPS Tools

Kapan tugas memantau kekuatan yang tidak terputus di workstation muncul? Mencicit - diganti, akhirnya. Memperbaiki UPS adalah tugas tanpa pamrih, mengganti baterai - tidak semua orang ingin dipusingkan (atau bahkan orang jahat).

Jadi saya pikir, terutama setelah serangkaian UPS dengan elektronik yang gagal. Situasi ini diperburuk oleh perangkat lunak dari produsen. Dia, dengan kata lain, sampah. Dan setiap orang memiliki APC, Ippon, Powercom, TrippLite. Server apa, apa untuk workstation. Mencoba versi berbayar setelah pengalaman dengan yang gratis - tidak ada keinginan. Dan sangat menyenangkan ketika UPS berasal dari berbagai produsen.

Namun pemantauan masih diperlukan. Keuntungannya jelas: 1) Anda dapat mengganti UPS SEBELUM mengeluarkan suitan perpisahan; 2) Anda dapat langsung melihat di mana baterai mati, dan di mana elektronik.
Yang minus sederhana, seperti biasa: biaya keputusan, dalam uang atau jam kerja.

Kami akan memecahkan masalah ini.

Jika kita memiliki kebun binatang, maka cara yang paling memadai adalah Network UPS Tools .

Ada sedikit informasi tentang Windows di dalamnya, dan belum ada GUI. Tapi kami akan menyelesaikannya .

Dalam keadilan, perlu dicatat bahwa ada proyek serupa di Python . Tetapi bagi saya pribadi sepertinya sama sekali tidak perlu menggunakan Python (dan solusi teknis serupa) di mana Anda dapat bertahan dengan beberapa baris skrip asli.

Penafian
  • Ini bukan "solusi siap pakai."
  • Ini bukan kalimat, tetapi sebuah cerita.
  • Ya, ada Zabbix, Cacti, dll, dan ini adalah solusi berat untuk perusahaan besar yang memerlukan server khusus dan juga semacam lapisan menengah untuk mendukung protokol UPS yang sesuai.
  • Dengan semua hal di atas, solusinya cukup sederhana, cukup mudah dan biaya 0 mata uang.


Tentu saja, untuk mengumpulkan informasi Anda memerlukan UPS dengan port info. Saya mengalami masalah dengan port IPPON COM, semuanya berfungsi dengan baik.

Biasanya untuk workstation, UPS terhubung melalui USB, dan kami akan mempertimbangkan kasus ini. Anda perlu menginstal NUT pada semua workstation dengan UPS.
Kemungkinan masalah dengan ini:

  • > Driver libusb paling baik dipasang secara terpisah . Yang termasuk tidak mengerti semua UPS;
  • Jika libusb menawarkan nama standar Baterai HID UPS , Anda perlu mengubahnya - dengan nama standar, beberapa sistem karena alasan tertentu tidak melihat UPS;
  • jika proses instalasi menampilkan pesan " Driver tanpa tanda tangan digital ", maka Anda harus menginstalnya kembali secara manual , jika tidak maka crash;
  • jika libusb tidak mengenali model UPS, maka pertama kali driver diinstal TIDAK BENAR! Ini ditunjukkan oleh kesalahan "upsmon ERROR ACCESS DENIED", atau drivernya mogok. Anda perlu: menghentikan layanan NUT, menghapus driver libusb, tunggu sampai "perangkat input USB" diinstal, pilih secara manual lagi driver libusb untuknya;
  • Untuk NUT, Anda membutuhkan perpustakaan pihak ketiga , yang tidak termasuk dalam kit instalasi. Setup berbicara tentang ini, tetapi siapa yang membacanya :) Plus, seringkali sistem sudah memiliki perangkat lunak dengan pustaka ini. Sangat diperlukan: libeay32.dll, ssleay32.dll, libgcc_s_dw2-1.dll (ditemukan di folder NUT-bin), libusb.dll (ditemukan dalam kit distribusi libusb), msvcr71.dll (termasuk dalam Net Framework 1.1). Semua file ini harus berada di folder Windows \ System32;
  • kadang-kadang Anda perlu menentukan bus = "bus-0" untuk USB UPS di ups.conf;
  • pada mesin yang cepat dan pada beberapa kartu jaringan, layanan NUT dimulai lebih awal dari driver dan / atau antarmuka jaringan. Dalam hal ini, jenis startup "Startup (keterlambatan start)" mengarah ke kesalahan "upsc ERROR DATA STALE". Solusi: buat tugas yang akan memeriksa proses upsd ketika peristiwa dengan kode 1 muncul dari sumber Network UPS Tools dan restart layanan Network UPS Tools; unduh file tugas xml; unduh skrip (harus ada di folder NUT \ others).

Contoh script untuk pemasangan NUT secara semi-otomatis pada klien:

N:\NUT-Installer-2.6.5-6.msi /qn copy N:\dll\ssleay32.dll C:\Windows\System32 /Y copy N:\dll\libeay32.dll C:\Windows\System32 /Y copy N:\dll\libgcc_s_dw2-1.dll C:\Windows\System32 /Y copy N:\dll\libusb.dll C:\Windows\System32 /Y copy N:\etc\* "%programfiles%\NUT\etc" rem  IP-    NUT  SET IP=192.168.100.10 set ip_address_string="IP Address" rem Uncomment the following line when using Windows 7 (with removing "rem")! set ip_address_string="IPv4-" REM echo Network Connection Test for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do SET IP=%%f ECHO LISTEN %IP% 3493 >> "%programfiles%\NUT\etc\upsd.conf" rem   libusb  N:\libusb-win32-bin-1.2.6.0\bin\inf-wizard.exe rem  ,     notepad "%programfiles%\NUT\etc\ups.conf" notepad "%programfiles%\NUT\etc\upsmon.conf" pause net use N: /delete /Y 

Cara memahami mengapa NUT tidak berfungsi di Windows:

  • kami memeriksa apakah ada nut.exe dalam prosesnya
  • jika ada, maka periksa upsd.exe dan upsmon.exe
  • jika upsd tidak dalam proses, buka nut \ sbin dan jalankan dengan tangan Anda:
  • "Upsd tidak dapat dimulai karena tidak ada dll" - periksa dll di system32, reboot untuk berjaga-jaga;
  • "Kesalahan Upsd membuat pipa bernama" - upsd sudah berjalan
  • dimulai dan segera ditutup - periksa alamat ip di upsd.conf di bagian LISTEN, terutama benar jika ada DHCP pada mesin;
  • upsd dimulai, tetapi tidak melihat UPS - instal atau instal ulang libusb, periksa libusb.dll di system32, ganti nama perangkat dari HID UPS Battery;
  • jika upsd dimulai, buka bin dan jalankan upsc our_ups @ localhost
  • "Upsc tidak dapat dimulai karena dll tidak ada" - kami memeriksa perpustakaan;
  • "Kesalahan koneksi gagal-upsc yang gagal diketahui" - periksa apakah upsd dan upsmon sedang berjalan, periksa bagian MONITOR dengan hati-hati di upsmon.conf, periksa perpustakaan dll lagi;
  • “Upsc error data basi” - baik UPS memulai satu kali dan tidak berfungsi lagi, kemudian instal ulang libusb driver dan ganti nama Baterai HID UPS, atau layanan NUT naik lebih cepat dari antarmuka jaringan atau USB UPS terlihat, mulai ulang layanan;
  • "Kesalahan Upsmon ACCESS DENIED" - instal ulang driver seperti dijelaskan di atas.

Untuk server pemantauan yang Anda butuhkan:

  • NUT dalam mode mandiri;
  • server web apa pun dengan php dan mysql. Saya menggunakan Server Seragam
  • Database MySQL dan folder www dari repositori, dan beberapa skrip batch dari sana.

Kami menempatkan database SQL dan www di direktori yang sesuai dari web utara. Script dari batch_scripts disalin ke folder instalasi NUT. Kami memulai server web, kami meneruskan ke localhost / index_ups.php . Tambahkan UPS klien apa pun dalam format UPS_name @ host. Jalankan skrip get_ups_list_mysql.cmd. Kami periksa. Selamat menikmati.

gambar

Apa yang bisa kita lihat berguna di luar keadaan saat ini? Sebagai contoh:

  • jika tegangan baterai minimum mendekati 10, lebih baik untuk menggantinya di muka;
  • pada nilai tegangan normal, kegagalan UPS kemungkinan besar akan dikaitkan dengan kegagalan elektronik (milik Anda, K.O);
  • beban lebih dari 70 persen tidak diinginkan, 100 tidak normal jika tidak dikaitkan dengan peristiwa swa-uji;
  • pengisian daya baterai minimum kurang dari 30% menunjukkan kegagalan fungsi baterai atau pengaturan mati otomatis yang salah saat dilepaskan pada klien.

Beberapa poin:

  • kolom dapat diurutkan dengan mengklik tajuk;
  • nilai maksimum / minimum ditampilkan melalui garis miring ke arus, nilai kritis ditandai dengan warna merah;
  • hati-hati dengan tombol "swa-uji".

Jika seseorang memiliki masalah dalam menginstal / menjalankan NUT di Windows - tulis, kami akan mencari tahu bersama.

Terima kasih atas perhatian anda!

Source: https://habr.com/ru/post/id421039/


All Articles