Comments (10)
@stoader I used new regex, but this issue is right. It only replaces driver metrics it doesn't considers others.
*.sink.prometheus.metrics-name-capture-regex=(.*(mgck_|application_))([0-9_]*)(.+)
*.sink.prometheus.metrics-name-replacement=$4
from spark-metrics.
Can you show examples of the original driver and executor metrics without name pre-processing enabled that are provided by Spark in your environment?
from spark-metrics.
@stoader Facing this same issue, I am running latest master on spark3 emr and using
*.sink.prometheus.metrics-name-capture-regex=(.+driver_)(.+)
*.sink.prometheus.metrics-name-replacement=$2
*.sink.prometheus.group-key=ns=stream-ns
and following in spark defaults.
spark.metrics.namespace ${spark.app.name}
Is there any way to get rid application name & id from all metric names. They are in labels ( via job, number, role ) already.
Screenshot of application master group
Screenshot of driver group ( here the replacement has worked )
Screenshot of executor 2 ( Here instead of applicationId, job is coming in metric name)
from spark-metrics.
from spark-metrics.
@t0il3ts0ap your config is incorrect:
*.sink.prometheus.metrics-name-capture-regex=(.+driver_)(.+)
This regex will replace only metric names that includes driver
in the name.
In order to have the applicationMaster
replaced you need something like:
*.sink.prometheus.metrics-name-capture-regex=(.+applicationMaster_)(.+)
from spark-metrics.
@stoader As you can see executor metrics are starting with appName delta_streamer_request_details_1
.
Do you know how I can replace those as well ?
It will be difficult to provide dynamic metrics.properties based on application name.
from spark-metrics.
I'd suggest to check the executor metric names pushed by the executor first without any regex and than create the appropriate regex for extracting only the needed part from the name
from spark-metrics.
I'm closing this issue as it's not a spark-metrics issue but rather using the appropriate regex in the configuration.
from spark-metrics.
@stoader I used new regex, but this issue is right. It only replaces driver metrics it doesn't considers others.
*.sink.prometheus.metrics-name-capture-regex=(.*(mgck_|application_))([0-9_]*)(.+) *.sink.prometheus.metrics-name-replacement=$4
yeah,I think you are right.It's so inconvenient
from spark-metrics.
@Kwafoor
It doesn't works for executor if you get the jar from s3.
Instead first store the jar in local filesystem ( ex-> /usr/lib/spark
) in each node of your cluster ( In emr, can do via bootstrap action ), then it will work for both driver/executor.
from spark-metrics.
Related Issues (20)
- Metrics namespace HOT 11
- Pushgateway Read timed out HOT 2
- Want to understand that this spark matrics repo will work with prometheus in Hadoop cluster ? HOT 4
- Release Spark provided fix to maven HOT 2
- No Metrics From Spark Executors (Classes are being instantiated) HOT 10
- Filter metrics HOT 10
- Metric Name RegEx Replacement doesn't work with JMX HOT 2
- Spark Metrics Stop Pushing After Pushgateway Restarts
- Configure sink to stop sending job as label/group-key HOT 3
- Metrics filter doesn't work
- Add remote_write to PrometheusSink
- Security Policy violation Binary Artifacts HOT 315
- Security Policy violation Branch Protection HOT 314
- Prometheus Sink is not working with SparkPi
- VictoriaMetrics HOT 2
- Repetitions of last metric value HOT 2
- Adding the ability to set custom labels on metrics
- com.banzaicloud:spark-metrics_2.12:3.1-1.0.0 version Not published to maven central HOT 3
- Only driver metrics visible on local
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spark-metrics.