![]() The one in charge to start internal and external exporters and run commands is pmm-agent. ![]() How PMM works.Īs mentioned before, there are many components in PMM. In that module, the HTTP server supports basic authentication and some other features as well but time has passed, Prometheus exporters are much much mature and now the Prometheus exporter-toolkit package has support for TLS, HTTP2, cyphers, basic auth, etc. In PMM, all exporters metrics are password protected and since there was no support for that in the past and we needed it as part of our specification, PMM exporters use a common HTTP module called exporter_shared. Probably going back in time we could find many other reasons, like maintainability, or the ability to use custom builds but one of the things that lacked in the first exporters was the support for basic authentication. I will try to keep things clear and simple, but this is a technical post so, there will be some code. There are many places to contact us to get help if you need to, but nowadays, is the fastest place to get answers. My intention is to walk you trough the internals of the PMM API and PMM agent, how do the communicate and how to make some code changes. In the next paragraphs, I’ll try to explain the basics of how PMM works. In this post, I will try to show how to implement the replacement of the current node_exporter we use in PMM to move back to the original one. There are many components, many abstractions, parts that send messages to remote APIs or agents, the PMM agent, the PMM API (pmm-managed), the command line client (pmm-admin) and all the external exporters. Usually we discuss new features, talk about how to do something but even for me, a Percona developer, sometimes it is hard to know where and what to touch in PMM. This is my first (I hope) post about something no so usual in our regular posts about technology.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |