Dagger is a Loki-based log query and management system that is a project derived from within our cloud platform. Dagger Runs on the front end of Loki and currently features log query, search, save and download, which is suitable for container log management in cloud native scenarios. We will continue to open more functions in the future.

I have shared many articles about Loki before. Some students may ask that Grafana’s Explore can also use Loki to view the log. Why do you want to make a Dagger?

Grafana is very good. It is very efficient and cool for queries. At first, He also gave it to the r&d students to use, but he encountered many problems


  • The scene of a

R & D: “At? Which of these labels is my application?” Operation: “Well… This… And this “RESEARCH and development:” So much, but also handwritten, really laborious!” Operations: “…”


  • Scenario 2

R & D: “At? I want to check XXX this field, how to filter ah?” Operation: silently knock down the LogQL statement and send it to him, and say “LogQL statement, understand?” R & D: “cow 🍺, but also learn ah, too troublesome!” Operations: “…”


  • Scenario 3

R & D: “At? “, help me download the xx container inside the xx minutes of the log “operation: after a meal kubectl CP operation, sent the log to him… Two minutes later… R & D: “At? And help me download the log of Y time and YY minutes in yy container, thank you!” Operation: after another kubectl CP operation, sent the log to him, and in the heart of 10,000 grass mud horse run


  • Scenario 4

R & D: “At? Why can’t MY application find the log of xx day reported in JIRA?” Operation: after an investigation, “the log exceeded the retention date and was cleared” R & D: “I was just about to see the log debug! Forget it, next time, “and conveniently transferred JIRA to operation and maintenance: Operation and maintenance: Inner OS” Baby’s heart is bitter, but baby doesn’t say”


I’m sure you’re smart enough to realize that Grafana’s focus is on log checking. Log management is always a little bit different. This is why we launched dagger to make log checking easier and easier. Without further ado, let’s start with the picture above

Dagger currently supports very few features, only meeting the most basic requirements:

  • Logs are filtered based on the matching rules of labels and re. Logs are queried based on time (the maximum retention time of logs depends on the configuration of Loki). In the number of filtered rows, log context is tracked.
  • Simple log level filtering and the maximum number of rows can be selected. The output can be in positive or reverse order.
  • Provides real-time log push and log download functions.
  • Support for querying history and listing labels to save in quick query;
  • Support for log snapshots, which save the results of the current query in the dagger for download and view

Continuous improvement

Dagger is still pretty new, but it’s been running steadily internally for about 8 months now and we still have a lot of things to work on, such as:

  • Manage multiple Loki instances

    • Configuration management of multiple Loki instances is supported within the Dagger, and log query for multiple instances is supported
  • A log warning

    • Support LogQL to add custom log metrics on the front end
    • Support loki-Ruler component, support the editor and push of Ruler in the interface
    • Subscription, convergence, and notification of log Alarm events (multi-channel)
  • The deployment of simple

    • Integrate multiple log clients and Loki for one-click deployment

conclusion

Please check out the Dagger repository on GitHub for more detailed documentation

Github.com/CloudmindsR…

Finally attached a lucky draw red envelope, pay attention to the cloud native xiaobai public number reply dagger to obtain the lucky draw qualification, on October 30th at 9:00 a.m., thank you for forwarding support 🙏 wish all programmers big man 1024 happy holidays