Ad Widget

Collapse

Can zabbix be used as a backend for a server monitoring SaaS service?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • vic
    Member
    • Jul 2013
    • 58

    #1

    Can zabbix be used as a backend for a server monitoring SaaS service?

    I want to bundle in server monitoring with my other existing services on my website for my server hosting business. Similar to what other server monitoring SaaS websites do. Is Zabbix appropriate for something like that? Where I can use the Zabbix API to connect Zabbix to my website front end and allow customers to set up alerts, install the zabbix agent on their server, and have it email them if there is an alert for their server? If Zabbix is not appropriate for that, what do these other websites that offer this service use?

    This would not be a service for enterprise uses. More for small mom and pop business users where they may only have one or two servers they need monitored. However, it could be potentially thousands of servers for thousands of individual owners. So lots of users and lots of hosts and the ability to assign one or more hosts to one or more users as opposed to sending alerts to all users from all servers.

    As far as I can tell, the only way to assign individual users to individual hosts is to create a host group for each host and a user group for each user and then assign the user group to the host group. So seems like that would create a lot of database entries and possibly won't scale well.
    Last edited by vic; 01-09-2020, 19:30.
  • isaqueprofeta
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2020
    • 154

    #2
    Originally posted by vic
    I want to bundle in server monitoring with my other existing services on my website for my server hosting business. Similar to what other server monitoring SaaS websites do. Is Zabbix appropriate for something like that? Where I can use the Zabbix API to connect Zabbix to my website front end and allow customers to set up alerts, install the zabbix agent on their server, and have it email them if there is an alert for their server? If Zabbix is not appropriate for that, what do these other websites that offer this service use?
    Doing it Zabbix way would be a Zabbix-proxy for each client bundled on a docker-compose or something like that, your zabbix-server will handle the proxy and the hostgroup/usergroup. API is only if you do a middleware to make your clients not learn/use Zabbix-frontend.

    Originally posted by vic
    This would not be a service for enterprise uses. More for small mom and pop business users where they may only have one or two servers they need monitored. However, it could be potentially thousands of servers for thousands of individual owners. So lots of users and lots of hosts and the ability to assign one or more hosts to one or more users as opposed to sending alerts to all users from all servers.

    As far as I can tell, the only way to assign individual users to individual hosts is to create a host group for each host and a user group for each user and then assign the user group to the host group. So seems like that would create a lot of database entries and possibly won't scale well.
    Zabbix will be fine if you understand how to monitor, keep it tunned, and scale it correctly. If you're going to do this kind of work, it's highly recommended to take training to really understand the concepts.

    Comment

    • vic
      Member
      • Jul 2013
      • 58

      #3
      Originally posted by isaqueprofeta

      Doing it Zabbix way would be a Zabbix-proxy for each client bundled on a docker-compose or something like that, your zabbix-server will handle the proxy and the hostgroup/usergroup. API is only if you do a middleware to make your clients not learn/use Zabbix-frontend.



      Zabbix will be fine if you understand how to monitor, keep it tunned, and scale it correctly. If you're going to do this kind of work, it's highly recommended to take training to really understand the concepts.
      Thanks for the comments. As far as I know, proxy is for distributing the processing load. I'm not sure what you are referring to with docker or how that gets me individual clients only selectively getting alerts from an individual server. It also needs to scale to thousands of clients so I'm not sure if setting up a separate proxy for each client is going to be practical.

      Clients will not be using Zabbix-front end or any other monitoring software front end. It needs to be integrated into my website. Not a separate GUI. Just like how SaaS websites that specialize in server monitoring do it. There are lots of them around so it can't be too hard to do it. I just need to figure out what they are using on the back end for the monitoring. The key limitation with Zabbix that doesn't make it a good fit is that it does not have a feature for assigning individual users to individual servers.

      Site24x7 offers both free & paid monitoring services for your entire IT environment. Monitor the health and performance of websites, servers, networks, applications, and cloud platforms and receive instant via different media when any resource experiences an issue or downtime. Sign up now!

      Efficiently centralize, monitor, and manage your IT support with remote monitoring and management (RMM). Discover TeamViewer Remote Management.


      Start monitoring in 30 seconds. Use advanced SSL, keyword and cron monitoring. Get notified by email, SMS, Slack and more. Get 50 monitors for FREE!

      The website monitoring service for unmatched uptime monitoring. Start monitoring your websites, APIs, cron jobs and more. Unlimited email, SMS, Slack notifications.
      Last edited by vic; 02-09-2020, 17:47.

      Comment

      • isaqueprofeta
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2020
        • 154

        #4
        Originally posted by vic

        Thanks for the comments. As far as I know, proxy is for distributing the processing load so it would be ideal for clusters of servers in remote locations. I am not doing anything like that. I'm not sure what you are referring to with docker or how that gets me individual clients only selectively getting alerts from certain servers. It also needs to scale to thousands of clients so I'm not sure if setting up a separate proxy for each client is going to be practical.
        If you're planning a "pure VM" business, you can skip that part of my answer.

        Comment

        • vic
          Member
          • Jul 2013
          • 58

          #5
          For anyone else coming here looking for the same thing. I think the way you would do this is to create a custom zabbix webhook. You would then hook into your own custom front end like you would any of the other services that use zabbix webhooks. Ie. Pushover, Zandesk, iLert, PagerDuty etc. So you would still need to code that custom service yourself if you want to offer something similar to any of those services but this at least this gets you part of the way there.
          Last edited by vic; 08-09-2020, 20:07.

          Comment

          • rishioo7
            Junior Member
            • Sep 2020
            • 1

            #6
            For any other individual coming here searching for something very similar. I figure the manner in which you would do this is to make a custom Zabbix webhook. You would then guide into your own custom front end like you would any of the different administrations that utilization Zabbix webhooks. Ie. Weakling, Zandesk, iLert, PagerDuty and so on. So you would in any case need to code that custom help yourself in the event that you need to offer something like any of those administrations yet this at any rate this gets you mostly there. descargar adobe illustrator
            Last edited by rishioo7; 14-09-2020, 21:47.

            Comment

            Working...