-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Additional storage backends #638
Comments
Did you remove the flags for elasticsearch in jaeger-collector? Because I'm doing a test using the image docker, which version is:
and I cannot see the elasticsearch flags. |
It looks like you're using latest instead of 1.1. We recently moved around some of the flags so that we can support plugins better #625. Using latest, you have to instead use env variable SPAN_STORAGE=elasticsearch to use the elasticsearch flags. I'd recommend that you use 1.1 since this change will be apart of 1.2 and will be documented at that time. |
Thanks for the reply, yes I was using the latest version. I will use the 1.1 |
I would love to see a SQL option (whatever ANSI SQL that will be least vendor lock-in). |
Since I work with PostgreSQL, I sure wouldn't complain. But honestly I'm not sure a SQL db is an optimal store for largely free-form metrics of this nature. PostgreSQL at least offers the But you inevitably land up with someone putting an ORM on top to "abstract" the DB. Then the ORM performs terribly, gobbles memory and everyone says "the SQL backend is slow, use instead". |
Related issue to this one is #551. Upvote if you are interested in it. |
New related issue- |
We are looking at using BigQuery as a storage layer. Presumably this could work with a SQL storage option. SQL can be a generic way to deal with columnar data stores in a generic way. I would complain about a BigQuery specific solution, but I think there is a place for generic SQL interface beyond RDBs. |
I assume that even if some database can be treated as SQL and accessed via standard database/sql API, we still need to statically import the actual driver. Granted, this may be less maintenance than a dedicated SpanStorage implementation. However, now that the protobuf model has been merged, nothing is blocking us from moving on the storage plugin dev, eg using something like harshicorp grpc plugin framework. |
|
Giving my two cents.. an ANSI SQL could work for small workloads, so may be useful for lower-throughput applications that still want to benefit from this tool. I will also throw out there that Timescale (a Postgres extension) may be a good fit for the required high write throughput. |
Clickhouse are SQL high performance storage very efficient for log and trace storage and whold be perfect storage alternative to cassandra original one... they are a true column db... distributed...compressed... they are near to the CQL (sql like query language)... they use an SQL like language to... |
I just thought that I'd drop something here to say that there is also support for using Couchbase as a storage backend (via the grpc plugin), currently at https://github.com/chvck/couchbase-jaeger-storage-plugin. Will likely move to the couchbase-labs organisation in time. |
Has someone started to work on Azure CosmosDB integration? It has support for Cassandra API, but I couldn't manage to make it work... |
I just created an issue proposing Chronowave as storage backend. #2534 |
What about ClickHouse? Clickhouse is very cool |
Cool! Nice job @muhammadn I'm curious how the performance is with a search using S3 in that manner. Are you planning on deploying or using this setup? |
@muhammadn I re-opened #2633 and linked your repo at the top. Suggest moving discussions/updates there. |
@Xitric and I are working in on a storage backend for Humio using the grpc plugin. The repository can currently be found at https://github.com/em135/humio-jaeger-plugin. I have opened an issue for this: #3005 |
If S3 is supported, I would suggest to support GCS as well, which is also an objects-storage for all Google Cloud users. For our use-case that would be tremendous helpful! |
@galan it does actually, despite the name is jaeger-s3, i had already added support for GCS (and Azure Storage) for quite some time but i have not tested it. Maybe you can go to https://github.com/muhammadn/jaeger-s3 to try it out. Related code to GCS: All you need is to modify the configuration for jaeger-s3 to this: https://grafana.com/docs/loki/latest/operations/storage/boltdb-shipper/#example-configuration which has the GCS config. I will update the documentation to jaeger-s3 include GCS and Azure as well. (and probably change the project name entirely) Do tell me if you need help. But i think we can move this discussion to #2633 @galan Update: I have updated the documentation - https://github.com/muhammadn/jaeger-s3/blob/main/README.md Also just a question from the community, should i rename this project as a more generic name rather than jaeger-s3 since this plugins will support GCS and Azure as well? |
@jpkrohling The Alibaba cloud log service has supported the jaeger, and here are the gifs of the plugin. Link: https://github.com/qiansheng91/jaeger-sls#quick-start |
Can i use other jaeger collector as backend for my jaeger collector? |
Jaeger collector cannot send data (e.g. over gRPC) to other jaeger collector. However this capability is supported with OTEL collector. |
@yurishkuro Would highly recommend to add Azure Table Storage as a backend storage option as well. |
@yurishkuro Could you please add PostgreSQL with Promscale into the list.? Now Promscale is Jaeger storage complaint too :) Thanks. |
@yurishkuro could you please add RediSearch to the list? I've worked on a GRPC Plugin to Store Traces on Redis Search and this is close to the first release, I'm just adding a few performance tests. |
i use jaeger with timescaledb in kubernetes |
@vemula-anu please do not post support questions to this issue, create a new question in Discussions. |
Could you please add Yugabyte to the list? #4354 |
Added, sorry for the delay. |
I know Tempo today is a lot more capable in terms of its search compared to back in 2021. Is it now a potentially good Jaeger backend or are there still gaps? |
Tempo has a broader set of search capabilities (via TraceQL) than Jaeger search. So, generally, Tempo could be used to back Jaeger. There are two gaps I'm aware of. First, Jaeger search currently returns the entire trace to the frontend which then renders the search results pane you see in the UI. Tempo, however, only returns metadata to the frontend. I don't believe this metadata is enough to render every element of the Jaeger search results. For instance, I don't think you could list the services in the trace. Second, we currently only retrieve auto complete tags from recent traces. So if you were searching a time range from yesterday the auto complete would still be based on the traces received in the last half hour or so. We are working to address this. |
Just what @joe-elliott explained but i want to add that it had been already done. I had completely overhauled jaeger-objectstorage to use tempo as a backend to store traces to AWS S3/GCS/AzureBlob since i believe tempo is already mature to support multiple cloud storage providers. Back in the early days of tempo there wasn't support for GCS and AzureBlob so we used loki as the interface to store trace data. I've posted in the forums on how it would look like so you can take a look. The codes are already published (both the tempo fork and jaeger-objectstorage) but the documentation needs more polishing. |
Is it possible to use loki as a back-end store, which can be a good correlation between logging and tracing? |
Unfortunately, no @jiajiayang as loki is a logging system, however Tempo is the tracing backend and doesn't support full text search which is how Jaeger does the querying you see in the search dialog box. Even in Grafana stack you still run multiple backends. |
Hello community, I am going to implement a apache doris grpc storage. Could you give me some advice? Thank you! |
@joker-star-l it's up to you. You can maintain it in your own repository and explain the existing limitations. If people find it useful they may ask to support the writer API. |
Any plans of supporting Pinot in future ? |
No |
Opening this issue to keep track of other related issues.
Relevant issue: plugin support #422 (done).
The text was updated successfully, but these errors were encountered: