Blog

  • logstash-gelf 1.4.1 released

    I’ve released today logstash-gelf 1.4.1, I’ll be available until this evening on Maven Central.

    (more…)

  • Integrating Logstash with JBoss

    Logstash is one of the hottest tools when it comes to log management. There are lots of integration possibilities in standalone or web applications. But what if you want to capture the whole log output of your JBoss server? Take a look at the snippets.

    (more…)

  • visualizr – Show your data

    visualizr – Show your data Once in a while I get in touch with lots of time based data, such as monitoring or profiling values.

    Calls per minute, actions per time unit and so on. Having such data is a great value but having it visualized gives a different impression instead looking at numbers. I’ve created visualizr. It’s a small Single-Page-Application with a Java-based backend. Visualizr provides support for multiple data sources (a data source can contain multiple charts), auto-reloading and a great user experience.

    Give it a try, you can find the code at https://github.com/mp911de/visualizr or as a maven artifact (SNAPSHOT-version until now)

    <dependency>
        <groupId>biz.paluch.visualizr</groupId>
        <artifactId>visualizr</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    

    Sonatype OSS Snapshot Repository: https://oss.sonatype.org/content/repositories/snapshots

  • Come back to projects

    It happens currently all the time. I’m always coming back to projects I worked on. Over and over I’m meeting old coworkers and colleagues. Same faces, sometimes a bit older than I left them. This raises mixed feelings. It’s sort of coming home, thus it is different.

  • Increasing throughput performance using parallelism

    Traditional applications progress sequentially. This was ok for a certain time, multi-threading, concurrency and parallelism are hard to code right. With growing requirements to performance, large scale data and user base, application have to progress concurrently and even parallelize tasks. Using Akka for event distribution and processing enables applications to work on different tasks in parallel in a very simple and configurative way.

    (more…)

  • Logging Hadoop messages into Logstash using logstash-gelf

    Operating a Hadoop cluster means lots of daemons running on lots of machines. When it comes to the logs, and you’re searching for something, it can get nasty, since you do not know, where to search.

    (more…)

  • Distributed web sessions using MongoDB and a lightweight session facade

    Stateless services are the easiest to scale out. Just add more machines without worrying about maintaining a state. Stateful applications are harder to scale. So are web applications with user front ends and sessions.

    (more…)

  • logstash-gelf 1.2.6 released

    Today I’ve released the patch 1.2.6 of logstash-gelf. This release contains a performance bugfix which caused an incident in the past. 

    The java.util.logging hoghandler’s publish method was synchronized. This caused stalling of different threads which ended up in a denial of service. Usually a restart of the application is sufficient to solve that problem, but that’s only a temporary solution. Other implementations of logstash-gelf (Log4j, Log4j2 and Logback) are not affected.

    Links

    Any feedback is appreciated or create issues on GitHub.

  • Every day is a new day aka. daily mind reset

    Imagine you're talking about something today with your product owner or boss. It get's the highest priority for today, because it's cool or something. Tomorrow you're not done with it but have again a cool feature idea. Or a collegue of you. And guess what, it gain's again highest priority.

    And what about the first topic? Forgotten again. Not having a mid-term or long-term plan can get a horror. Not having a product vision or a strategy for your product is even harder. Every day things can change, old stuff gets obsolete and there is no red thread what your system is and what it's not. How it behaves and how not. This causes uncertainty and the involved developers cannot be confident about their implementation. Always and ongoing discussions and changes of directions are the consequence. The whole product looks and works like a mixed litterbox which causes confused users and no one is happy with the application.

    Don't become that team.

  • Tracking requests in a distributed environment

    Central logging using logstash or Graylog is one of the most interesting topics for now. Software applications get more distributed, are partitioned into different components and are running on multiple servers. This causes the need of central logging. Central logging itself is nice. You don’t have to collect log files from multiple servers anymore. But how do you correlate and track requests on different machines? How can you trace, which request in the frontend caused which error message in the backend?

    (more…)