How we can monitor a service status using Zabbix? - zabbix

We are using Zabbix for server monitoring and its working fine for system resources like disk, CPU, memory etc.
Now we want to monitor some services also whether they are running fine or not like Apache, Nginx, Puma, Sidekiq etc.
Can you please help me how we can monitor such services using Zabbix?
Any guidance will be appreciated.
Thanks in advance.

You should refer to the documentation, it covers windows service monitoring and generic process monitoring with proc.* items.
Here you can find the supported item by platform matrix.
There's an external template for systemd lld, you can find it on Zabbix Share

for Nginx monitoring you can use that template
also take a look this repository, probably you can find there something useful

For sidekiq specifically, using
proc.num[,,,sidekiq]
seems to work. It uses the cmdline -argument.
Source:
https://zabbix-users.narkive.com/EKVrN9VY/proc-num-item-for-sidekiq-process

Related

How to use GRUB2 with UEFI for secure booting Ubuntu?

I have a mirco computer board such as BeagleBone black.How I can make secure boot of Ubuntu in it using Grub2 and UEFI?
You cannot use GRUB/UEFI with BBB.
You have to use U-Boot since that's the only officially (and actually) supported boot loader.
Please refer the user guide.
However, if you explain what kind of security you need, people here may suggest different solutions.

difference Open-shift advance and quick installation

I am new to Openshift world. When I try to setup Openshift cluster (I tried mini-shift already), I got two main styles (or ways) to setup open-shift.
1. Advanced installation
2. Quick installation
As the name suggests I think in advance installation we can get more control on installation, but quick installation is interactive but less controlled installation.
I googled out but I did not get any link for pros and cons for each of this type. I did not understand which way I can choose when. Can somebody help me out?
thanks in advance.
If you want to set up single-node development cluster, use minishift as you have already tried.
If you want to deploy any other cluster, do the Advanced installation. It's good for single-node clusters as well as production-grade multi-node deployments.
I usually do not recommend users to do the Quick installation, unless you a very specific reason to require this method.

How does Dynatrace OneAgent inject into Java

Classical Dynatrace monitoring worked by using an agent for monitoring java processes. You had to add the agent to the monitored VM and it worked.
Dynatrace OneAgent does this without agents. But how does it work. There was no agent added to the Java process. All that is needed is restarting the Java process. Tried it out with Liberty Server and could find two Dynatrace threads called ruxitautosensor and ruxitsubpathsender. But i do not understand how the injection works.
Dynatrace OneAgent changed the "/etc/ld.so.preload" file in OS:
/$LIB/liboneagentproc.so
"/etc/ld.so.preload" and env variable "LD_PRELOAD" are used to preload specified lib when starting new process.
It seems to me they are using standard JVM Tool Interface APIs.
-agentpath:<path-to-agent>=<options> to JVM.
Full documentation here: https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html
Example:
-agentpath:C:/PROGRA~2/DYNATR~1/oneagent/agent/lib64/oneagentloader.dll=isjdwppresent=true,loglevelcon=none,tenant=00000000-0000-0000-0000-000000000000,tenanttoken=XXXXXXXXXXXXXXXX,server=https://10.10.10.10:8443/communication
Note: Some strings have been obfuscated.
On a very high level the installed OS-level agent runs some processes which use OS-level functionality to iterate processes on the machine and inject the agent via various different techniques into all the technologies that are supported for "deep monitoring", e.g. Java, .NET and a number of others.
More details are likely not published for obvious reasons as all this gives a clear advantage compared to the traditional approach for injecting agents manually via adjusting startup scripts, especially if you are deploying into a very large environment.

Server Monitoring tools Apache/MySQL

my boss has asked me to find a tool that will monitor our sever health. Some kind of desktop application preferably that we can keep an eye on and will monitor us when capacity goes over a certain level, or we approach max storage etc.
We need to monitor both MySQL and Apache. I'm guessing I might need two tools.
THanks in advance
Have you looked at munin? it's not desktop... but i don't know why do you want to have a desktop solution?
you can monitor apache with SNMP module like mod_apache_snmp and tools like OpenNMS, and Nagios. Nagios supports monitoring mysql also.
You might also like to look at Megamon (http://www.megamon.com). Megamon is a complete monitoring solution capable of graphing numerous system performance aspects as well as escalating alerts and much more.
Megamon is not a desktop solution but runs as a Virtual Appliance. However, since it has a web interface, it is just as easy to use as a desktop application.
Have a look at SeaLion. SeaLion is a cloud based Linux server monitoring tool. Getting started is as easy as executing a command. It installs an agent at /usr/local/sealion-agent and runs as an unprivileged user (sealion). This agent will collect data at regular intervals across servers and this data will be available on your workspace. The latest version is shipped with NGINX, Apache, MySQL, MongoDB and Redis monitoring capability. It is free for 1 server with a 12 hours data retention policy.

embedded web/application server

I need to write an user menu for an embedded device (mips linux). The menu has to be accessible from network (web page - AJAX?) and it has to be able to read/write hardware settings. What would be the easiest way to implement such an app/server? Where do I start?
PS: c/c++ preferred.
PS 2: I have limited resources
Take a look at mongoose embeddable web server.
See this related page on writing web applications.
If you are running linux you could try thttpd - tiny/turbo/throttling HTTP server
You may also consider a commercial server such as the Barracuda Server:
http://barracudaserver.com/