{"id":30354,"date":"2024-01-23T10:27:44","date_gmt":"2024-01-23T09:27:44","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=30354"},"modified":"2025-01-15T14:25:19","modified_gmt":"2025-01-15T13:25:19","slug":"monitor-m-files-with-zabbix","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/","title":{"rendered":"Monitor M-Files with Zabbix"},"content":{"rendered":"\n<p>So far, for Zabbix monitoring, I only covered Linux based servers. We can put aside <a href=\"https:\/\/www.dbi-services.com\/blog\/monitor-microsoft-sql-server-with-zabbix\" target=\"_blank\" rel=\"noreferrer noopener\">MS-SQL<\/a> which was monitored via ODBC, thus without any Zabbix agent involved.<\/p>\n\n\n\n<p>In this blog post, I will explain you how I was able to monitor a Document Manage System (DMS) like M-Files which is running on Windows.<\/p>\n\n\n\n<p>By the way, <a href=\"https:\/\/www.dbi-services.com\/blog\/author\/vincent-cambefort\/\" target=\"_blank\" rel=\"noreferrer noopener\">Vincent<\/a> did a great blog post about <a href=\"https:\/\/www.dbi-services.com\/blog\/efficiency-and-collaboration-with-m-files-solution\/\" target=\"_blank\" rel=\"noreferrer noopener\">M-Files overview<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-zabbix-agent-installation\">Zabbix Agent Installation<\/h2>\n\n\n\n<p>Installation is straight forward as it consist as simple <a href=\"https:\/\/www.zabbix.com\/download_agents\" target=\"_blank\" rel=\"noreferrer noopener\">MSI<\/a> file, so no need to spend too much time if there are no specific needs beside setting up agent in active mode (Zabbix agent pushes data to Zabbix server).<\/p>\n\n\n\n<p>Why did I choose the active mode? Because I have something in mind. We will see that later in this blog post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-components-monitoring\">Components Monitoring<\/h2>\n\n\n\n<p>How would we monitor a whole application which uses multiple components? By using out-of-the-box template at a first stage. As known components, M-Files is running on a Windows server, uses a MS SQL database and an IIS Web Server. So, I will go for the following template:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.zabbix.com\/fr\/integrations\/windows#windows_agent_active\" target=\"_blank\" rel=\"noreferrer noopener\">Windows by Zabbix agent active<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.zabbix.com\/fr\/integrations\/mssql#mssql_odbc\" target=\"_blank\" rel=\"noreferrer noopener\">MSSQL by ODBC<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.zabbix.com\/fr\/integrations\/iis#iis_agent_active\" target=\"_blank\" rel=\"noreferrer noopener\">IIS by Zabbix agent active<\/a><\/li>\n<\/ul>\n\n\n\n<p>To use these templates, we simply need to link them to the M-Files host:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"450\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-07_16_17-Configuration-of-hosts-\u2014-Mozilla-Firefox-1024x450.png\" alt=\"\" class=\"wp-image-30363\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-07_16_17-Configuration-of-hosts-\u2014-Mozilla-Firefox-1024x450.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-07_16_17-Configuration-of-hosts-\u2014-Mozilla-Firefox-300x132.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-07_16_17-Configuration-of-hosts-\u2014-Mozilla-Firefox-768x338.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-07_16_17-Configuration-of-hosts-\u2014-Mozilla-Firefox.png 1297w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>And one click <em>Update\/Add<\/em> button and we are done.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-macros\">Macros<\/h3>\n\n\n\n<p>For <strong>Windows <\/strong>template, there are no extra settings required unless you need to customize threshold, which filesystems or services to monitor.<\/p>\n\n\n\n<p>Regarding <strong>IIS <\/strong>template, as M-Files was setup on https, we must set two macros:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>{$IIS.PORT} to indicate port (ie. <code>443<\/code>)<\/li>\n\n\n\n<li>{$IIS.SERVICE} to <code>https<\/code><\/li>\n<\/ul>\n\n\n\n<p>For the application pool of IIS, nothing else to define as it will be discovered by the <em>Application pools discovery<\/em> <a href=\"https:\/\/www.zabbix.com\/documentation\/current\/en\/manual\/discovery\/low_level_discovery\" target=\"_blank\" rel=\"noreferrer noopener\">LLD<\/a>.<\/p>\n\n\n\n<p>As for <strong>MS SQL<\/strong>, you can refer to my previous <a href=\"https:\/\/bigsmooth68.github.io\/dbi-blogs\/monitor-microsoft-sql-server-with-zabbix\/\" target=\"_blank\" rel=\"noreferrer noopener\">blog post<\/a> for more details.<\/p>\n\n\n\n<p>And? That&#8217;s all? No. As you probably know me, I am curious to see how much further we can get with <a href=\"https:\/\/www.dbi-services.com\/blog\/tag\/zabbix\/\" target=\"_blank\" rel=\"noreferrer noopener\">Zabbix<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-extend-monitoring\">Extend Monitoring<\/h2>\n\n\n\n<p>The M-Files server closely integrates with Windows, sending all M-Files logs to the Windows Event, for instance. Thankfully, Zabbix can access it.<\/p>\n\n\n\n<p>When we want to monitor logs or events, we must use Zabbix agent in active mode. Why? Because we want the detected patterns in log (for example, ERROR, WARN, &#8230;) to be pushed to Zabbix server as soon as it occurs. We don&#8217;t want to wait for Zabbix server pool interval.<\/p>\n\n\n\n<p>Let&#8217;s create a new template named <mark class=\"has-inline-color has-luminous-vivid-orange-color\">M-Files by Zabbix agent active<\/mark> and create our first item in it:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"431\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_01_47-Configuration-of-items-\u2014-Mozilla-Firefox-1024x431.png\" alt=\"\" class=\"wp-image-30370\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_01_47-Configuration-of-items-\u2014-Mozilla-Firefox-1024x431.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_01_47-Configuration-of-items-\u2014-Mozilla-Firefox-300x126.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_01_47-Configuration-of-items-\u2014-Mozilla-Firefox-768x323.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_01_47-Configuration-of-items-\u2014-Mozilla-Firefox-1536x646.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_01_47-Configuration-of-items-\u2014-Mozilla-Firefox.png 1610w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><mark class=\"has-inline-color has-luminous-vivid-orange-color\">application <\/mark>is the name of the event log, source is M-Files and <mark class=\"has-inline-color has-luminous-vivid-orange-color\">skip<\/mark> indicates that it will process only latest (ie. newly) created lines. I put 7 days storage for debugging purpose, but in normal condition, it should be shorter, or even disabled, as we will create dependent item that will pick what we are interested in.<\/p>\n\n\n\n<p>First level of dependent item will be on backup with a preprocessing step to filter what concerns backup:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"187\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_22_46-Configuration-of-items-\u2014-Mozilla-Firefox-1024x187.png\" alt=\"\" class=\"wp-image-30373\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_22_46-Configuration-of-items-\u2014-Mozilla-Firefox-1024x187.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_22_46-Configuration-of-items-\u2014-Mozilla-Firefox-300x55.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_22_46-Configuration-of-items-\u2014-Mozilla-Firefox-768x140.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_22_46-Configuration-of-items-\u2014-Mozilla-Firefox-1536x280.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_22_46-Configuration-of-items-\u2014-Mozilla-Firefox-2048x374.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This item looks for the string <code>Job type: Backup<\/code> and, if it is not found, will discard value. If not setting <em>Custom on fail<\/em> option, it will raise an error during evaluation when string is not found (not all events concern backup).<\/p>\n\n\n\n<p>Now, as soon as a new event is logged, we will find it in item history (below is an event of a backup job starting):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"271\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_30_23-History-refreshed-every-10-sec.-\u2014-Mozilla-Firefox-1024x271.png\" alt=\"\" class=\"wp-image-30374\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_30_23-History-refreshed-every-10-sec.-\u2014-Mozilla-Firefox-1024x271.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_30_23-History-refreshed-every-10-sec.-\u2014-Mozilla-Firefox-300x79.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_30_23-History-refreshed-every-10-sec.-\u2014-Mozilla-Firefox-768x203.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_30_23-History-refreshed-every-10-sec.-\u2014-Mozilla-Firefox-1536x406.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_30_23-History-refreshed-every-10-sec.-\u2014-Mozilla-Firefox-2048x542.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-are-we-up-to-date-on-backups\">Are we up to date on Backups?<\/h2>\n\n\n\n<p>One M-Files server can host multiple vaults and each vault should have a backup job running at least daily. I don&#8217;t want to define an item for each vault manually, thus we must find a way to discover them dynamically.<\/p>\n\n\n\n<p>I found that the list of vaults can be extracted from Windows registry and Zabbix can read from it. The discovery key will be as the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>registry.get&#091;HKLM\\SOFTWARE\\Motive\\M-Files\\Version\\Server\\MFServer\\Vaults,values,\"^DisplayName$\"]<\/code><\/pre>\n\n\n\n<p>This will return an array of matching registry keys:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n{\n        &quot;DisplayName&quot;: &quot;M-Files Vault Name&quot;,\n        &quot;DataFolder&quot;: &quot;B:\\\\App\\M-Files\\\\Server Vaults\\\\VaultName&quot;,\n        &quot;VaultUID&quot;: &quot;{1BFAAAAA-D7A2-AAAA-8F17-DEAAAA26F1C0}&quot;\n    }\n<\/pre><\/div>\n\n\n<p>In preprocessing tab of the LLD, we must match the macro with a JSON path which we will later use in prototypes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"241\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_42_00-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-1024x241.png\" alt=\"\" class=\"wp-image-30375\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_42_00-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-1024x241.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_42_00-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-300x71.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_42_00-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-768x180.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_42_00-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-1536x361.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_42_00-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>For each vault, we want to create a dedicated item which will filter on vault name (event log contains the vault name):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Item prototype definition:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"271\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_44_32-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-1024x271.png\" alt=\"\" class=\"wp-image-30376\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_44_32-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-1024x271.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_44_32-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-300x79.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_44_32-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-768x203.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_44_32-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-1536x406.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_44_32-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox.png 1817w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Item prototype preprocessing which filter on vault name:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"188\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_45_56-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-1024x188.png\" alt=\"\" class=\"wp-image-30377\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_45_56-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-1024x188.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_45_56-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-300x55.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_45_56-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-768x141.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_45_56-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-1536x282.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_45_56-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-2048x376.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now that we have an item which stores events for each vault, we can create trigger prototypes. I want following trigger conditions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>There is no event related to the vault for a given period, for example, 25 hours<\/li>\n\n\n\n<li>There is no successful backup of the vault for a given period<\/li>\n<\/ul>\n\n\n\n<p>First part of the expression will look like:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnodata(\/M-Files by Zabbix agent active\/mfiles.job.backup&#x5B;&quot;{#VAULTNAME}&quot;],{$MFILES.NOBACKUP.WARNING})=1\n<\/pre><\/div>\n\n\n<p>Second:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfind(\/M-Files by Zabbix agent active\/mfiles.job.backup&#x5B;&quot;{#VAULTNAME}&quot;],{$MFILES.NOBACKUP.WARNING},&quot;like&quot;,&quot;Status: Succeeded.&quot;)=0\n<\/pre><\/div>\n\n\n<p>I defined a user macro in the template named {$MFILES.NOBACKUP.WARNING} which will contain the number of seconds before raising the trigger. I will set the default value to 25 hours.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"413\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_56_09-Configuration-of-trigger-prototypes-\u2014-Mozilla-Firefox-1024x413.png\" alt=\"\" class=\"wp-image-30380\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_56_09-Configuration-of-trigger-prototypes-\u2014-Mozilla-Firefox-1024x413.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_56_09-Configuration-of-trigger-prototypes-\u2014-Mozilla-Firefox-300x121.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_56_09-Configuration-of-trigger-prototypes-\u2014-Mozilla-Firefox-768x309.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_56_09-Configuration-of-trigger-prototypes-\u2014-Mozilla-Firefox-1536x619.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/2024-01-23-09_56_09-Configuration-of-trigger-prototypes-\u2014-Mozilla-Firefox.png 1561w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Finally, we are ready to link the M-Files template to the host to see how it behaves.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-next\">What Next?<\/h2>\n\n\n\n<p>MS-SQL database is not mandatory. M-Files also supports <a href=\"https:\/\/firebirdsql.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Firebird<\/a> database for small setups. We can imagine to monitor the database size to ensure we are not getting out of supported limits. As we did on the LLD definition, we can also create items and triggers automatically for each vault hosted by the M-Files server.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-our-offer\">Our Offer<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"160\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png\" alt=\"dbi services is M-Files Delivery Partner\" class=\"wp-image-30250\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png 400w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28-300x120.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/figure>\n\n\n\n<p>As a <strong>Certified<\/strong> <strong>M-Files Delivery Partner <\/strong>(<a href=\"https:\/\/catalog.m-files.com\/certified-delivery-partners\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/catalog.m-files.com\/certified-delivery-partners<\/a>), we offer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Enhanced expertise<\/strong>: With a deep understanding of M-Files solutions, our team ensures superior quality ECM implementations.<\/li>\n\n\n\n<li><strong>Increased security and compliance<\/strong>: As a certified partner, we adhere to the highest standards to protect your data.<\/li>\n\n\n\n<li><strong>Tailored and effective solution<\/strong>: This certification enables us to finely tune M-Files solutions to your specific needs, boosting the efficiency of your organization.<\/li>\n<\/ul>\n\n\n\n<p>For more information: <a href=\"https:\/\/www.dbi-services.com\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.dbi-services.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>So far, for Zabbix monitoring, I only covered Linux based servers. We can put aside MS-SQL which was monitored via ODBC, thus without any Zabbix agent involved. In this blog post, I will explain you how I was able to monitor a Document Manage System (DMS) like M-Files which is running on Windows. By the [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,525],"tags":[1143,3190,1676,549,2430],"type_dbi":[],"class_list":["post-30354","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","category-enterprise-content-management","tag-dms","tag-m-files","tag-monitor","tag-windows","tag-zabbix"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Monitor M-Files with Zabbix - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monitor M-Files with Zabbix\" \/>\n<meta property=\"og:description\" content=\"So far, for Zabbix monitoring, I only covered Linux based servers. We can put aside MS-SQL which was monitored via ODBC, thus without any Zabbix agent involved. In this blog post, I will explain you how I was able to monitor a Document Manage System (DMS) like M-Files which is running on Windows. By the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-23T09:27:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-15T13:25:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Monitor M-Files with Zabbix\",\"datePublished\":\"2024-01-23T09:27:44+00:00\",\"dateModified\":\"2025-01-15T13:25:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\"},\"wordCount\":935,\"commentCount\":2,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png\",\"keywords\":[\"DMS\",\"M-Files\",\"monitor\",\"Windows\",\"Zabbix\"],\"articleSection\":[\"Application integration &amp; Middleware\",\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\",\"name\":\"Monitor M-Files with Zabbix - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png\",\"datePublished\":\"2024-01-23T09:27:44+00:00\",\"dateModified\":\"2025-01-15T13:25:19+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png\",\"width\":400,\"height\":160},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitor M-Files with Zabbix\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Monitor M-Files with Zabbix - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/","og_locale":"en_US","og_type":"article","og_title":"Monitor M-Files with Zabbix","og_description":"So far, for Zabbix monitoring, I only covered Linux based servers. We can put aside MS-SQL which was monitored via ODBC, thus without any Zabbix agent involved. In this blog post, I will explain you how I was able to monitor a Document Manage System (DMS) like M-Files which is running on Windows. By the [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/","og_site_name":"dbi Blog","article_published_time":"2024-01-23T09:27:44+00:00","article_modified_time":"2025-01-15T13:25:19+00:00","og_image":[{"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png","type":"","width":"","height":""}],"author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Monitor M-Files with Zabbix","datePublished":"2024-01-23T09:27:44+00:00","dateModified":"2025-01-15T13:25:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/"},"wordCount":935,"commentCount":2,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png","keywords":["DMS","M-Files","monitor","Windows","Zabbix"],"articleSection":["Application integration &amp; Middleware","Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/","url":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/","name":"Monitor M-Files with Zabbix - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png","datePublished":"2024-01-23T09:27:44+00:00","dateModified":"2025-01-15T13:25:19+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/01\/image-28.png","width":400,"height":160},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/monitor-m-files-with-zabbix\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Monitor M-Files with Zabbix"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=30354"}],"version-history":[{"count":13,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30354\/revisions"}],"predecessor-version":[{"id":30384,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30354\/revisions\/30384"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=30354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=30354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=30354"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=30354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}