-
Notifications
You must be signed in to change notification settings - Fork 418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
service.type and service.name #142
Comments
We don't use |
I think it's mostly correct, however:
For the APM solution, "service.name" refers to the name of the service where the data was captured. I think it would be confusing for have If APM documents were to have a |
I updated the APM part above accordingly with For the spans which connect to MySQL, my assumption would be that they would not contain |
@ruflin I don't think so. We use
To move this forward, it would be useful to get have some more use-cases for context |
@roncohen Agree that we should not mix service.type and service.name of two different things together in one event. That is why I was thinking in the transaction event the service data is fully related to service the agent is running in and in spans the service data could be empty or related to the service it's talking to. For the use cases: I think on the Metricbeat side there aren't much more use cases. Any chance you could provide some more on the APM side? |
@ruflin at the moment
which includes the I think it makes sense to have the service name of where the data was captured on the span. This makes it simple to query for all the SQL queries for a specific service, as an example. We could move it from |
@roncohen I think the For the span documents: I'm wondering if you need the |
@ruflin where would you like those additional examples?
I'm not sure I follow - besides the case @roncohen mentioned where we pull the top SQL queries for a service? ES queries filtering on |
@graphaelli I think we could even have an example in the description of service.name as soon as the PR is merged. For the spans: Got it, didn't know also there filtering on service.name is happening. |
Currently ECS has a
service.name
and the expected content when for example talking to a MySQL service is that it containsmysql
. APM on the other hand usesservice.name
as the manual set name by the user for the service in which the agent is running and if the service talks to MySQL,service.type
is set asmysql
. The following proposal is to addservice.type
and define the usage of both.A few examples to explain the usage
Metricbeat monitoring MySQL and service
foo
Metricbeat monitors with the MySQL module a MySQL host and with the HTTP module a user built service
foo
. The events collected from these will look as following:MySQL events:
Foo events:
It will be up to user to define the field
service.type
in the HTTP module. We should make it easier on our end.Questions
service.type
if it's empty?Metricbeat monitoring 2 MySQL servers
Metricbeat is monitoring two different MySQL servers on the same host. One server stores user data the other one is for tracking. The events will look as following:
User data MySQL instance:
Tracking data MySQL instance
The user can set a name for each service he is monitoring. This will allow later to differentitate between the two services. We should recommend to prefix the name with the service.type.
Metricbeat monitoring an Elasticsearch cluster
Metricbeat monitors and Elasticsearch cluster across different hosts. The cluster name is
baz
.The name of the cluster is put in as
service.name
. This allows to group together all nodes related to a cluster. Currentlyelasticsearch.cluster.id
orelasticsearch.cluster.name
are use for this. One of these fields should be copied to the service.name.APM agent running in service foo
An apm agent running inside the service
foo
will report it's data as following. The service is built on top of node.js:The
service.name
is set by the user inside the agent. It could also befoo-prod1
andfoo-prod2
. In this case these would be two different services.APM agent running in service foo talking to mysql service
An apm agent running inside the service
foo
is talking to a MySQL instance.The
service.type
will be set to MySQL as the info is about a connection / query to MySQL. If not name of the service it connects to can be found, it will fill in service.type.Question
The text was updated successfully, but these errors were encountered: