نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • ایمنی
  • نرم افزار نظارت بر چاپگر شبکه Xerox snmp. کنترل چاپ و کنترل چاپگر در شرکت برای چاپگرهای محلی و شبکه

نرم افزار نظارت بر چاپگر شبکه Xerox snmp. کنترل چاپ و کنترل چاپگر در شرکت برای چاپگرهای محلی و شبکه

کنترل چاپگر و کنترل چاپباید توسط بسیاری از شرکت های بزرگ و کوچک در سراسر جهان اجرا شود. چرا اینطور است؟ چرا کنترل چاپگرها و استفاده از آنها بسیار مهم است؟ فرض کنید شما یک رسانه یا شرکت بزرگبا ده ها کامپیوتر ترکیب شده در چندین شبکه های محلی. همه این رایانه ها می توانند روی چاپگرهای محلی یا شبکه چاپ کنند و هر رایانه می تواند توسط چندین نفر استفاده شود. در این صورت، کنترل عملکرد و استفاده از چاپگر به یک کار بسیار زمان بر تبدیل می شود. اما با استفاده از نرم افزار کنترل چاپگرراه حل این مشکل ساده و آسان می شود. به همین دلیل است که باید برنامه ای برای کنترل چاپگرها در دفتر خود داشته باشید.

یکی دیگر از مزایای اصلی برنامه Print Monitor این است که با برنامه Printer Monitor می توانید تعیین کنید که چاپگرها چقدر کارآمد استفاده می شوند، چند صفحه روی آنها چاپ می شود و هزینه چاپ هر ماه چقدر است. برنامه ما به شما این امکان را می دهد که بفهمید کدام یک از کارمندان اغلب از چاپگر استفاده می کنند و شاید برای اهداف شخصی خود. این برنامه به شما امکان می دهد سوابق خود را نگه دارید و گزارش هایی را در مورد چاپگرها و اسناد چاپ شده روی آنها تهیه کنید. داده های چاپگر کنترل شده در آن ذخیره می شود پایه مشترکداده‌ها، بنابراین می‌توانید در هر زمان بیشترین کارمندی را که تایپ می‌کند شناسایی کنید.

مانیتور دقیق چاپگر چه مشکلاتی را می تواند حل کند؟

این برنامه قابل استفاده در سیستم متمرکزکنترل چاپگر و محاسبه هزینه برای همه چاپگرهای شرکت، زیرا به شما امکان می دهد چاپگرهای محلی و شبکه را کنترل کنید. با استفاده از این برنامه می توانید چاپ بر روی چاپگرهای سازمان خود را به طور موثرتری کنترل کنید که از استفاده شخصی پرینترها جلوگیری می کند و می تواند هزینه های چاپ شما را به میزان قابل توجهی کاهش دهد.

اکنون استفاده از مانیتور چاپگر دقیق را شروع کنید!

پس از نصب، اجرا کنید مانیتور چاپگراز منوی Start - Programs. روی دکمه سبز سبز کلیک کنید و لیستی از چاپگرهایی که می خواهید کنترل کنید تهیه کنید. سپس مشخص کنید که داده های رویداد چاپگر در کدام پایگاه داده باید ذخیره شوند. سپس می توانید گزارش هایی در مورد استفاده از چاپگر در سازمان خود ایجاد کنید.

ژوئن 23, 2011 در 09:59

چیزهای کوچک تجربه شده-6 یا "حسابداری و کنترل چاپگر ایوان فدوروف"

  • مدیریت سیستم

در این پست در مورد یک تجربه کوچک اما در نوع خود جالب استفاده صحبت خواهم کرد پروتکل SNMPبرای جمع آوری آمار چاپ در یک سازمان.

در شرکتی که در مورد آن در سوال، تایپ بسیار زیاد پرینترهای بزرگ و قدرتمند (مانند HP 9000) و اندازه متوسط ​​و کاملاً خانگی وجود دارد. خوشبختانه، همه آنها تحت شبکه هستند، و طیف تولید کنندگان محدود است، فقط دو نفر: HP و Ricoh (در ظاهرهای مختلف، از NRG تا MB). و سپس یک روز خوب بهاری، با نگاه کردن به صورت حساب های لوازم التحریر، مدیریت صرفه جویی این وظیفه را تعیین کرد: جمع آوری منظم آمار چاپ، "بعدا تحلیل کنیم". و زیاد اذیت نکردند: "همه چاپگرها شبکه هستند، آنها یک صفحه آمار دارند، صبح لیست را دور زدند، اعداد را در اکسل نوشتند، همه چیز - این کار است"!

به طور طبیعی، به نظر ما، غیر جالب، احمقانه و "خسته کننده" بود، زیرا تعداد زیادی پرینتر در سازمان وجود دارد. و ما شروع کردیم به فکر کردن "چگونه آن را به خودی خود کار کنیم." به طور کلی، به نظر من این میل ("به طوری که خود به خود کار کند") برای همه کلید و ضروری است مدیر سیستمو کسانی که بارها و بارها موفق می شوند همیشه باعث حسادت مهربان و سفید من می شوند.

با رد کردن سریع تجزیه کننده های صفحه وب (این اشتباه است، و برای مثال، صفحات Ricoh پویا بودند، URL سختی وجود نداشت که کجا برویم)، ما به SNMP خوب قدیمی روی آوردیم. و این چیزی است که از آن بیرون آمد.

در اینجا احتمالاً ارزش یک انحراف کوچک را دارد برای کسانی که مخفف SNMP هنوز برای آنها معنی ندارد. آقایان، شما از دست داده اید! به عنوان یک موضوع فوری توصیه می کنم یک عصر دیگر را صرف کنید و حداقل برای مدتی موضوع را مطالعه کنید سطح پایه. به طور خلاصه، SNMP یک پروتکل مدیریت و نظارت بر اساس UDP است. اکثریت قریب به اتفاق دستگاه ها (اگر نه همه) با رابط شبکه، از این پروتکل پشتیبانی می کند و اجازه می دهد از آن نه تنها برای جمع آوری داده ها در مورد عملکرد دستگاه، بلکه برای کنترل خود دستگاه استفاده کنید. داده ها (اشیاء) که از طریق پروتکل SNMP در دسترس هستند، به اصطلاح. OID ها به صورت سلسله مراتبی سازماندهی می شوند. در اصطلاحات روزمره، این بدان معنی است که اگر از دستگاه یک مقدار OID با "شماره" 0.1.3.6.1.4.1.11 بخواهید، دستگاه پاسخ می دهد و این مقدار را ارسال می کند. و با دانستن اینکه کدام OID با مقدار مورد نیاز ما مطابقت دارد، می توانیم یک اسکریپت کوچک بنویسیم که دستگاه ها را نظرسنجی می کند و پاسخ های آنها را در پایگاه داده جمع آوری می کند. برای مثال می‌توانید با استفاده از این ابزارهای عالی و رایگان از دستگاه‌ها نظرسنجی کنید. با نگاهی به آینده، می گویم که در مورد خاص ما آنها مفید بودند snmpgetو snmpwalk.

الگوریتم به طور کلی واضح بود، ابزارها در دسترس بودند، جالب ترین چیز باقی ماند - برای درک اینکه چه OID ها نشان دهنده نیاز ما هستند: شمارنده صفحات چاپ شده. توضیحات کامل متغیرهای دستگاه، باصطلاح یافتن پایگاه های داده MIB آسان نیست (شما می توانید جستجو کنید)، اما می توانید راه دیگری را انتخاب کنید.

با استفاده از ابزار snmpwalk، هنگامی که دستگاه را نظرسنجی کنید، همه OIDها را با مقادیر آنها که توانایی صدور آنها را دارد از آن دریافت می کنید. به نوبه خود، ما به وضوح می دانیم که دقیقاً به چه ارزش هایی نیاز داریم (در نهایت می توانیم بفهمیم وضعیت فعلیدر صفحه وب). علاوه بر این، موضوع کوچک است:

  • ما جمع آوری می کنیم فایل متنی نقشه کاملدستگاه هایی با استفاده از snmpwalk.
  • ما از طریق رابط وب به تعداد صفحات چاپی فعلی که نیاز داریم پی می بریم
  • ما به دنبال تعداد صفحات چاپ شده در فایل هستیم و به این ترتیب کد OID را می یابیم.
  • ما از OID دریافتی در اسکریپت خود استفاده می کنیم
چند یادداشت
  • هر سازنده در همان نوع دستگاه تقریباً همیشه به یک ساختار MIB پایبند است. بر این اساس، شماره OID مربوط، به عنوان مثال، با شمارنده Total Pages Number برای همه چاپگرهای HP (به استثنای موارد نادر) یکسان خواهد بود. این به شما امکان می دهد یک "الگوی نظرسنجی" بنویسید که بسیاری از چاپگرهای یک سازنده با آن مطابقت دارند.
  • گاهی اوقات، هنگام تجزیه فایل snmpwalk، چندین مقدار جستجو وجود دارد. در اینجا می توانید صفحه دیگری را چاپ کنید و پس از جمع آوری مجدد داده ها، تعیین کنید که کدام OID حاوی شمارنده مورد نیاز ما است، یا به سادگی کمی منطقی فکر کنید (سلسله مراتب ساختار را به خاطر بسپارید!).
  • برخی از چاپگرها در صفحه وب نمایش داده نمی شوند شمارنده های خاصبا این حال، اجازه دهید آنها از طریق SNMP جمع آوری شوند. به عنوان مثال، یک صفحه وب فقط دارای تعداد کل صفحه است، اما با استفاده از SNMP می توانید مقادیر دقیق تری دریافت کنید (دورو، A3، تعداد "درخواست های چاپ" و غیره)
  • بهتر است بلافاصله داده ها را در جایی در پایگاه داده "برای تجزیه و تحلیل بیشتر" جمع آوری کنید. در مورد ما، به اصرار مدیران کسب و کار، همه چیز را در یک فایل متنی نوشتم که سپس به طور خودکار در اکسل باز شد و با کمک یک ماکرو به سلول ها تجزیه شد. کار با اکسل برای مدیران کسب‌وکار آسان‌تر از SQL بود، اما من شخصاً اهمیتی نمی‌دادم.
  • با کمک این روش ساده، در عرض چند ماه، آمار چاپ بسیار خوبی را در شرکت به دست آوردیم، به طور منطقی، با اعداد در دست، بودجه ای برای چاپگرهای قدرتمندتر در تعدادی از بخش ها دریافت کردیم و روابط با کارتریج را مرتب کردیم. شرکت پر کردن مجدد زمانی که مشخص شد تعدادی از محصولات خود را به جای 15000 صفحه تجویز شده در یک پمپ بنزین از قدرت 6000 می دهد.

به عنوان امتیاز، متن اسکریپت، ماکرو اکسل را می دهم و چند توضیح می دهم:

  • در ابتدای کد اسکریپت، تنظیمات توضیح داده شده است (مجموعه ای از آدرس های IP تجهیزات، و قالب های نظرسنجی).
  • اگرچه سازندگان معمولاً یک ساختار MIB واحد دارند، در برخی موارد، تجهیزات کلاس مختلفبا این حال، دارای OID های مختلف برای داده های یکسان است (به عنوان مثال، چاپگرهای HP زیر سری 2XXX دارای یک OID برای به دست آوردن شماره سریال و دیگری در بالا هستند.
  • برای چاپگرهای قدرتمندتر، ما نه تنها TotalPagesCount، بلکه انواع شمارنده های دیگر (کپی، A3، دوبلکس و غیره) را نیز جمع آوری می کنیم.
  • HP چنین مفهومی از TotalpagesCountEquivalent دارد - این تعداد صفحات دقیقاً چاپ شده است، یعنی. به طور کامل از مسیر چاپ عبور کرد. در حالی که به سادگی TotalPagesCount بر اساس HP تعداد برگه هایی است که از فیدرهای کاغذ گرفته شده است. تفاوت بین آنها در واقع برابر با مربا است.
  • اسکریپت شماره سریال چاپگرها را جمع آوری می کند تا بتوان آنها را در اکسل به آنها پیوند داد، همچنین IP، تاریخ و نام شبکه- این فقط برای شفافیت است.
  • در پایان، اسکریپت فایل اکسل را که در کنار آن قرار دارد راه اندازی می کند، که به نوبه خود، پس از باز شدن، یک ماکرو راه اندازی می کند که از قبل همه چیز را مرتب می کند. یک سیستم کاملاً آشفته، اما این نتیجه تقسیم کار است، زیرا. آنها داده‌های خالی از من می‌خواستند، و "ما خودمان تجزیه و تحلیل را خواهیم نوشت." همین را نوشتند. در آن، من دیگر نمی توانم چیزی را با جزئیات توضیح دهم، اما سعی می کنم.
  • ماکرو به این صورت عمل می کند: فایلی را با آمار باز می کند، تمام داده ها را از آنجا می گیرد، ارقام آمار را در ستون های ضروری جدول کپی می کند و به آن پیوند می دهد. شماره سریالتجهیزات، فایل آمار امروز را به *.bak تغییر نام می دهد، اکسل را می بندد.
  • ماکرو باید با گواهی داخلی امضا می شد. من اصلا نمی خواستم امنیت ماکرو را در اکسل غیرفعال کنم و بدون این کار ماکرو به طور خودکار شروع نمی شود. و به هر حال، این یک جستجوی طبیعی بود، زیرا. چگونه و با چه چیزی یک ماکرو را امضا کنیم، نه من و نه نویسندگان آن در آن زمان هیچ ایده ای نداشتیم :)

بگذارید در مورد ساده به شما بگویم راه کارآمدنظارت بر چاپگرهای شبکه در یک سازمان خواهد بوددر مورد تنظیم نظارت بر وضعیت چاپگرهای HP، Kyocera، Brother از طریق snmp با استفاده از Zabbix. من مقادیر صفحات چاپ شده برای همیشه، وضعیت تونر، نام کارتریج و شماره سریال چاپگر را جمع آوری می کنم.

تقریبا همه چاپگرهای مدرنمی توانند اطلاعات مربوط به وضعیت خود را از طریق پروتکل snmp ارائه دهند. سیستم مانیتورینگ Zabbixبه شما امکان می دهد به راحتی این داده ها را جمع آوری کنید، ذخیره کنید، هشدارها را برای رویدادهای مختلف پیکربندی کنید. در مثال من، اگر سطح تونر در کارتریج به زیر 10 درصد برسد، یک اعلان ارسال می کنم.

ظاهرا درخواست فعلیاما من نتوانستم آن را در وب پیدا کنم راه حل آمادهدر این مورد. انواع بحث ها، درخواست کمک برای راه اندازی، حل مشکل وجود دارد. اما من آن را دریافت نکردم تا همه چیز در یک مکان باشد. من سعی خواهم کرد این شکاف را پر کنم. بیشترین یک مشکل بزرگدر اینجا - MIB و OID واقعی برای مقادیر جمع آوری شده را پیدا کنید. اگر تمام معیارهای موجود را از طریق snmp جمع آوری کنید، مثلاً از چاپگر HP، بیش از 1000 معیار مختلف دریافت خواهید کرد! پیدا کردن آنچه واقعاً در این مورد نیاز دارید کار آسانی نیست. من در مورد معیارهایی که به من علاقه مند هستند صحبت خواهم کرد. من مقادیر این OID ها را یاد گرفتم.

من معیارهای زیر را جمع آوری خواهم کرد:

  • چاپگر در طول عمر خود چند صفحه چاپ کرده است.
  • حداکثر تعداد صفحاتی که چاپگر روی کارتریج فعلی چاپ می کند.
  • تعداد صفحاتی که چاپگر قبلاً روی کارتریج فعلی چاپ کرده است.
  • مدل کارتریج
  • شماره سریال چاپگر

اگر هنوز سرور مانیتورینگ خود را ندارید، من مطالبی را در مورد این موضوع توصیه می کنم. برای کسانی که سیستم CentOS را ترجیح می دهند:

اگر ترجیح می دهید در دبیان 9 نیز همین کار را انجام دهید:

بیایید راه اندازی را شروع کنیم.

یافتن OID های مورد نیاز

برای شروع، بیایید یک چاپگر برداریم و ببینیم از طریق snmp چه چیزی به ما می دهد. به عنوان مثال، من چاپگر HP LaserJet Pro MFP M426fdn (آدرس IP 192.168.88.20) را می گیرم. به طور پیش فرض، چاپگرهای HP مجاز به مشاهده پارامترها از طریق snmp هستند.

بریم به کنسول لینوکسو با snmpwalkمعیارهای چاپگر توسط snmp. برای این تنظیم خواهیم کرد بسته مورد نیاز.

# yum نصب net-snmp-utils

حالا بیایید معیارهای چاپگر را ببینیم:

# snmpwalk -v 2c -c public 192.168.88.20

یک دسته کامل از خطوط به سمت کنسول پرواز می کند که دیدن آنها ناخوشایند است. بیایید خروجی را به یک فایل متنی ارسال کنیم و نگاهی دقیق تر به آن بیندازیم.

# snmpwalk -v 2c -c public 192.168.88.20 > ~/snmp.txt

من شما را عذاب نمی دهم ، اما فوراً به خطوطی اشاره می کنم که برای ما جالب است:

همچنین ممکن است به پارامتر mib-2.43.5.1.1.16.1 علاقه مند شوید - نام چاپگر. من شخصاً به این نیاز ندارم، اما اگر همه چیز در نمایش داده شود جدول محوری، ممکن است مفید باشد. همچنین توجه را به پارامتر mib-2.43.11.1.1.8.1.1 جلب می کنم. معمولاً حداکثر تعداد صفحات قابل چاپ از کارتریج فعلی را نشان می دهد.

من مجبور شدم در خوانش سطح تونر با دو موقعیت مختلف مقابله کنم:

  1. سطح تونر بلافاصله بر حسب درصد در 2.43.11.1.9.1.1 نمایش داده می شود. پارامتر حداکثر تعدادصفحات کارتریج فعلی به صورت 100% در 2.43.11.1.1.8.1.1 فهرست شده است.
  2. سطح تونر در 2.43.11.1.1.9.1.1 تعداد صفحات چاپ شده از کارتریج فعلی را نشان می دهد. پارامتر دوم 2.43.11.1.1.8.1.1 نشان می دهد بیشترین مقدارصفحاتی که با کارتریج فعلی قابل چاپ هستند. سپس سطح تونر بر حسب درصد باید با استفاده از فرمول 100-100*(mib-2.43.11.1.1.9.1.1)/(mib-2.43.11.1.1.8.1.1) محاسبه شود.

اولین موقعیتی که در پرینترهای اچ پی دیدم، دومی در Kyocera و Brother. به همین دلیل، مجبور شدم برای هر سازنده چاپگر 3 قالب مختلف بسازم. همه پارامترهای دیگر مطابقت دارند.

در چاپگرهای Brother mib، سطح تونر کمی متفاوت بود، مانند HP و Kyocera، اما با آخرین رقم - به ترتیب 2.43.11.1.1.8.1.2 و 2.43.11.1.1.9.1.2 متفاوت بود. نمیدونم چیه ولی دیدم وضعیت مشابهاز افراد دیگر به همین دلیل، شخصی قوانین کشف خودکار را برای محاسبه دقیق آخرین رقم ایجاد کرد. من مجبور نبودم. برای ایجاد کافی بود قالب های مختلفبرای هر سازنده تمام چاپگرها 100% در این قالب ها گنجانده شده اند.

داستانی جداگانه با چاپگرهای رنگی. چندین کارتریج وجود دارد و شما باید به دقت به شماره آنها نگاه کنید. اما این نیز دشوار نیست، فقط افست یک واحد خواهد بود، همه کارتریج ها به ترتیب پیش می روند.

پیکربندی مانیتورینگ چاپگر از طریق snmp

هیچ چیز خاصی برای پیکربندی روی سرور مانیتورینگ وجود ندارد. همین که منو بگیری کافیه قالب های آماده، مطمئن شوید که MIB و OID با چاپگرهای شما مطابقت دارند و خود چاپگرها را به نظارت اضافه کنید، فراموش نکنید که رابط snmp را برای آنها مشخص کنید.

همه قالب ها از سرور Zabbix نسخه 3.4 صادر می شوند. من نسخه های دیگر را بررسی نکردم، اما فکر می کنم که کار خواهد کرد، زیرا چیز خاصی در قالب ها وجود ندارد. چک های منظم snmp.

در اینجا نمونه ای از یک عنصر واحد برای قالب چاپگرهای HP آمده است.

و در اینجا نمونه ای از مقدار سطح تونر محاسبه شده برای الگوی Kyocera آورده شده است.

نمونه ای از یک ماشه که در همه قالب ها وجود دارد.

  • کل صفحات چاپ شده - 1 ساعت
  • چاپ بر روی تونر فعلی - 10 دقیقه
  • حجم تونر - 10 دقیقه
  • سطح تونر - 10 دقیقه
  • نام کارتریج - 1 روز
  • شماره سریال - 1 روز

مورد داده Toner Level روی نوع داده Numeric تنظیم شده است تا ماشه کار کند و مقدار را با هم مقایسه کند. اگر خطاهایی در تونر دارید، برای مثال، به این دلیل که از تونر جدید استفاده نکرده‌اید، اما نسخه قبلی را دوباره پر کرده‌اید، مقدار -2 یا -3 با نوع "String" می‌آید. مورد با یک خطا غیر فعال می شود:

مقدار "-2" از نوع "string" برای نوع مقدار "عددی (بدون علامت)" مناسب نیست.

در این مورد کاری نمی توان کرد. می توانید یک الگوی جداگانه برای چنین چاپگرهایی بسازید و نوع مورد را از عددی به رشته ای تغییر دهید. به این ترتیب حداقل یک مقدار -2 دریافت خواهید کرد و نه یک خطای آیتم.

این تمام چیزی است که در این موضوع دارم. قالب ها را اضافه کنید، بررسی کنید و استفاده کنید.

نتیجه

چنین راه حل ساده ای که در واقع بسیار مفید بود. به سرعت پیکربندی می شود، خروجی اطلاعات واضح است. شاید مقادیر جالب و مفید دیگری وجود داشته باشد که بتوان آنها را از طریق snmp گرفت. چیز دیگری به ذهنم نرسید. شاید چیزی وجود داشته باشد که بگوید یا به تعمیر آینده اشاره کند. به عنوان مثال، منبع یک اجاق گاز یا یک عنصر دیگر. در MFP، من اطلاعاتی در مورد صفحات اسکن شده، در مورد تعداد کپی های ساخته شده دیدم. من متوجه نشدم که چرا این ممکن است مفید باشد. اگر نظر و پیشنهادی در مورد این قسمت دارید، لطفا در نظرات به اشتراک بگذارید.

دوره آنلاین "مدیر لینوکس"

اگر تمایل به یادگیری نحوه ساخت و نگهداری سیستم های بسیار در دسترس و قابل اعتماد دارید، توصیه می کنم با دوره آنلاین "مدیر لینوکس"در OTUS. این دوره برای مبتدیان نیست، برای پذیرش شما نیاز دارید دانش عمومیتوسط شبکه ها و نصب لینوکسبه مجازی این دوره آموزشی 5 ماه طول می کشد و پس از آن فارغ التحصیلان موفق دوره می توانند توسط همکاران مصاحبه شوند. خود را در آزمون ورودی محک بزنید و برنامه را با جزئیات بیشتر ببینید.

همه چیز سیستم های ممکننظارت تحت این فراوان است، هم پولی و هم رایگان. اما من می خواستم چیزی از خودم بسازم، کوچک و کارآمد. در خدمت 8 عدد وجود دارد چاپگرهای شبکه مدل های مختلف (HP، Koycera، تمام چاپگرها شبکه هستند و باید از آنها اطلاعاتی در مورد وضعیت کارتریج جمع آوری شود و در صورتی که آستانه کارتریج به 6٪ برسد از طریق پست به من اطلاع دهید که فلان کارتریج به زودی در چنین کارتریج تمام می شود. و چنین چاپگری

در نتیجه، من یک ابزار کوچک داشتم که همه اینها را به خوبی انجام می دهد. من کمی در مورد برنامه به دست آمده به شما خواهم گفت.

برگه اصلی " نظارت براطلاعات مربوط به چاپگرهای از قبل نصب شده و وضعیت کارتریج آنها به وضوح در اینجا نمایش داده می شود.

برگه « چاپگرها"، در اینجا شما در واقع چاپگری را که می خواهید نظارت کنید راه اندازی می کنید و مانیتورینگ را پیکربندی می کنید. می‌توانید با استفاده از دکمه‌های کنترلی که در پایین قرار دارد، چاپگر را اضافه یا ویرایش کنید. تعویض " نظارت بر» - فعال یا غیرفعال کردن نظارت. تعویض " اطلاعیه» - ارسال اعلان را هنگامی که کارتریج در حال اتمام است فعال کنید یا آن را خاموش کنید. پس از انجام هر عملی، حتما " را فشار دهید صرفه جویی»

برگه « راه اندازی SNMP"، در اینجا ما پارامترهای چاپگرهای نظرسنجی را به مقادیری که برای پردازش بعدی استفاده از آنها نیاز داریم، تنظیم می کنیم. در اصل، همه چاپگرها یکسان هستند OIDمقادیر، بنابراین من تغییر آنها را توصیه نمی کنم، همه چیز باید خوب کار کند. اما اگر هنوز می خواهید درست کنید OID، سپس می توانید این کار را با استفاده از دکمه های کنترلی در پایین انجام دهید.

برگه « راه اندازی SMTP"، ارسال اعلان ها به نامه در اینجا پیکربندی شده است، من فکر می کنم تشخیص اینکه چه چیزی باید در کجا وارد شود دشوار نخواهد بود. می توان چندین گیرنده را مشخص کرد ; (تقریبا [ایمیل محافظت شده];[ایمیل محافظت شده] ). پس از راه اندازی، ذخیره را فراموش نکنید!

مدت نظرسنجی برای چاپگرها 15 دقیقه تعیین شده است. و اگر کارتریج به علامت 6٪ برسد، یک اعلان مانند این دریافت می کنیم

ادامه "ریزه کاری های مجرب". قسمت های قبلی: یک، دو، سه، چهار، پنج.

در این پست، من در مورد یک تجربه کوچک، اما در نوع خود جالب استفاده از پروتکل SNMP برای جمع آوری آمار چاپ در یک سازمان صحبت خواهم کرد.

شرکت مورد نظر مقدار زیادی چاپ می کند. پرینترهای بزرگ و قدرتمند (مانند HP 9000) و اندازه متوسط ​​و کاملاً خانگی وجود دارد. خوشبختانه، همه آنها تحت شبکه هستند، و طیف تولید کنندگان محدود است، فقط دو نفر: HP و Ricoh (در ظاهرهای مختلف، از NRG تا MB). و سپس یک روز خوب بهاری، با نگاه کردن به صورت حساب های لوازم التحریر، مدیریت صرفه جویی این وظیفه را تعیین کرد: جمع آوری منظم آمار چاپ، "بعدا تحلیل کنیم". و زیاد اذیت نکردند: "همه چاپگرها شبکه هستند، آنها یک صفحه آمار دارند، صبح لیست را دور زدند، اعداد را در اکسل نوشتند، همه چیز - این کار است"!

به طور طبیعی، به نظر ما، غیر جالب، احمقانه و "خسته کننده" بود، زیرا تعداد زیادی پرینتر در سازمان وجود دارد. و ما شروع کردیم به فکر کردن "چگونه آن را به خودی خود کار کنیم." به طور کلی، به نظرم می رسد که این میل ("به کار انداختن آن به خودی خود") برای هر مدیر سیستم یک کلید و ضروری است و کسانی که بارها و بارها موفق می شوند همیشه باعث حسادت من مهربان و سفید می شوند.

با رد کردن سریع تجزیه کننده های صفحه وب (این اشتباه است، و برای مثال، صفحات Ricoh پویا بودند، URL سختی وجود نداشت که کجا برویم)، ما به SNMP خوب قدیمی روی آوردیم. و این چیزی است که از آن بیرون آمد.

در اینجا احتمالاً ارزش یک انحراف کوچک را دارد برای کسانی که مخفف SNMP هنوز برای آنها معنی ندارد. آقایان، شما از دست داده اید! به عنوان یک موضوع فوری، توصیه می کنم یک عصر دیگر را صرف کنید و موضوع را حداقل در سطح ابتدایی مطالعه کنید. به طور خلاصه، SNMP یک پروتکل مدیریت و نظارت بر اساس UDP است. اکثریت قریب به اتفاق دستگاه‌هایی (اگر نه همه) که دارای رابط شبکه هستند از این پروتکل پشتیبانی می‌کنند و اجازه استفاده از آن را نه تنها برای جمع‌آوری داده‌های مربوط به عملکرد دستگاه، بلکه برای کنترل خود دستگاه نیز می‌دهند. داده ها (اشیاء) که از طریق پروتکل SNMP در دسترس هستند، به اصطلاح. OID ها به صورت سلسله مراتبی سازماندهی می شوند. در اصطلاحات روزمره، این بدان معنی است که اگر از دستگاه یک مقدار OID با "شماره" 0.1.3.6.1.4.1.11 بخواهید، دستگاه پاسخ می دهد و این مقدار را ارسال می کند. و با دانستن اینکه کدام OID با مقدار مورد نیاز ما مطابقت دارد، می توانیم یک اسکریپت کوچک بنویسیم که دستگاه ها را نظرسنجی می کند و پاسخ های آنها را در پایگاه داده جمع آوری می کند. برای مثال می‌توانید با استفاده از این ابزارهای عالی و رایگان از دستگاه‌ها نظرسنجی کنید. با نگاهی به آینده، می گویم که در مورد خاص ما آنها مفید بودند snmpgetو snmpwalk.

الگوریتم به طور کلی واضح بود، ابزارها در دسترس بودند، جالب ترین چیز باقی ماند - برای درک اینکه چه OID ها نشان دهنده نیاز ما هستند: شمارنده صفحات چاپ شده. شرح کامل متغیرهای دستگاه به اصطلاح. یافتن پایگاه های داده MIB آسان نیست (شما می توانید جستجو کنید)، اما می توانید راه دیگری را انتخاب کنید.

با استفاده از ابزار snmpwalk، هنگامی که دستگاه را نظرسنجی کنید، همه OIDها را با مقادیر آنها که توانایی صدور آنها را دارد از آن دریافت می کنید. به نوبه خود، ما به وضوح می دانیم که به کدام ارزش ها نیاز داریم (در نهایت، می توانیم وضعیت فعلی آنها را در صفحه وب دریابیم). علاوه بر این، موضوع کوچک است:

  • با استفاده از نقشه کامل دستگاه را در یک فایل متنی جمع آوری می کنیم snmpwalk.
  • ما از طریق رابط وب به تعداد صفحات چاپی فعلی که نیاز داریم پی می بریم
  • ما به دنبال تعداد صفحات چاپ شده در فایل هستیم و به این ترتیب کد OID را می یابیم.
  • ما از OID دریافتی در اسکریپت خود استفاده می کنیم
چند یادداشت
  • هر سازنده در همان نوع دستگاه تقریباً همیشه به یک ساختار MIB پایبند است. بر این اساس، شماره OID مربوط، به عنوان مثال، با شمارنده Total Pages Number برای همه چاپگرهای HP (به استثنای موارد نادر) یکسان خواهد بود. این به شما امکان می دهد یک "الگوی نظرسنجی" بنویسید که بسیاری از چاپگرهای یک سازنده با آن مطابقت دارند.
  • گاهی اوقات، هنگام تجزیه فایل snmpwalk، چندین مقدار جستجو وجود دارد. در اینجا می توانید صفحه دیگری را چاپ کنید و پس از جمع آوری مجدد داده ها، تعیین کنید که کدام OID حاوی شمارنده مورد نیاز ما است، یا به سادگی کمی منطقی فکر کنید (سلسله مراتب ساختار را به خاطر بسپارید!).
  • برخی از چاپگرها شمارنده های خاصی را در صفحه وب نشان نمی دهند، با این حال، به شما امکان می دهند آنها را از طریق SNMP جمع آوری کنید. به عنوان مثال، یک صفحه وب فقط دارای تعداد کل صفحه است، اما با استفاده از SNMP می توانید مقادیر دقیق تری دریافت کنید (دورو، A3، تعداد "درخواست های چاپ" و غیره)
  • بهتر است بلافاصله داده ها را در جایی در پایگاه داده "برای تجزیه و تحلیل بیشتر" جمع آوری کنید. در مورد ما، به اصرار مدیران کسب و کار، همه چیز را در یک فایل متنی نوشتم که سپس به طور خودکار در اکسل باز شد و با کمک یک ماکرو به سلول ها تجزیه شد. کار با اکسل برای مدیران کسب‌وکار آسان‌تر از SQL بود، اما من شخصاً اهمیتی نمی‌دادم.
  • با کمک این روش ساده، در عرض چند ماه، آمار چاپ بسیار خوبی را در شرکت به دست آوردیم، به طور منطقی، با اعداد در دست، بودجه ای برای چاپگرهای قدرتمندتر در تعدادی از بخش ها دریافت کردیم و روابط با کارتریج را مرتب کردیم. شرکت پر کردن مجدد زمانی که مشخص شد تعدادی از محصولات خود را به جای 15000 صفحه تجویز شده در یک پمپ بنزین از قدرت 6000 می دهد.

به عنوان امتیاز، متن اسکریپت، ماکرو اکسل را می دهم و چند توضیح می دهم:

  • در ابتدای کد اسکریپت، تنظیمات توضیح داده شده است (مجموعه ای از آدرس های IP تجهیزات، و قالب های نظرسنجی).
  • با وجود این واقعیت که سازندگان معمولاً یک ساختار MIB واحد دارند، در برخی موارد، تجهیزات کلاس های مختلف هنوز OID های متفاوتی برای داده های مشابه دارند (به عنوان مثال، چاپگرهای HP زیر سری 2XXX یک OID برای به دست آوردن شماره سریال دارند و بالاتر - دیگری .
  • برای چاپگرهای قدرتمندتر، ما نه تنها TotalPagesCount، بلکه انواع شمارنده های دیگر (کپی، A3، دوبلکس و غیره) را نیز جمع آوری می کنیم.
  • HP چنین مفهومی از TotalpagesCountEquivalent دارد - این تعداد صفحات دقیقاً چاپ شده است، یعنی. به طور کامل از مسیر چاپ عبور کرد. در حالی که به سادگی TotalPagesCount بر اساس HP تعداد برگه هایی است که از فیدرهای کاغذ گرفته شده است. تفاوت بین آنها در واقع برابر با مربا است.
  • این اسکریپت شماره سریال چاپگرها را جمع آوری می کند، به طوری که می توان آنها را در اکسل به آنها پیوند داد، همچنین IP، تاریخ و نام شبکه - این فقط برای وضوح است.
  • در پایان، اسکریپت فایل اکسل را که در کنار آن قرار دارد راه اندازی می کند، که به نوبه خود، پس از باز شدن، یک ماکرو راه اندازی می کند که از قبل همه چیز را مرتب می کند. یک سیستم کاملاً آشفته، اما این نتیجه تقسیم کار است، زیرا. آنها داده‌های خالی از من می‌خواستند، و "ما خودمان تجزیه و تحلیل را خواهیم نوشت." همین را نوشتند. در آن، من دیگر نمی توانم چیزی را با جزئیات توضیح دهم، اما سعی می کنم.
  • ماکرو به این صورت عمل می کند: یک فایل با آمار باز می کند، تمام داده ها را از آنجا می گیرد، ارقام آماری را در ستون های ضروری جدول کپی می کند، به شماره سریال تجهیزات پیوند می دهد، فایل آمار فعلی را به *.bak تغییر نام می دهد. ، اکسل را می بندد.
  • ماکرو باید با گواهی داخلی امضا می شد. من اصلا نمی خواستم امنیت ماکرو را در اکسل غیرفعال کنم و بدون این کار ماکرو به طور خودکار شروع نمی شود. و به هر حال، این یک جستجوی طبیعی بود، زیرا. چگونه و با چه چیزی یک ماکرو را امضا کنیم، نه من و نه نویسندگان آن در آن زمان هیچ ایده ای نداشتیم :)

برترین مقالات مرتبط