Easier way to get your team on Rollbar

Posted by Mike Smith on May 19, 2015 · announcements, product, changelog

Joining and getting your team on Rollbar is now easier.

Rollbar is better together and our latest account setting makes it easier to get everyone together. I'm happy to introduce Email Domain Whitelists.

Previously the only way to join your team on Rollbar was being invited via email. Admins had to send email invites one by one. This can be tough for large organizations and fast growing engineering teams.

With Email Domain Whitelists, now you can set an email domain whitelist, so that anyone with an address at a specified domain can join your account (once confirmed). No more one off invitations. Making the workflow for admins and new team members easier and less confusing.

 

PROBLEM:

As we have grown we've seen more and more new users who are employees at companies that are already using Rollbar get lost trying to join their company’s account. The scenario looks something like this:

  1. You see a notification in your company's Slack, HipChat, or an issue in JIRA, GitHub etc.
  2. Click link to view more details
  3. Hit the Rollbar login page (confusion ensues)
  4. Decide to signup and create a new separate account that is orphaned from your company’s account
  5. Ask Admin to add/invite you to their Team on Rollbar
  6. The new account you created gets abandoned :( 

 

SOLUTION:

With the new email domain whitelist, anyone who signs up (from specified domains) automatically gets added to your account once they confirm their email address. Go to /settings/accounts/Name/ to setup (need to be on the Owners team to enable). 

 

 

Few items of note. Invites are on and email whitelists are off by default. Currently it only works on pages that would normally require login (i.e. link to project, error item, deploy). Here's how it works: 

 

  1. Next time someone clicks a link in Slack, HipChat, JIRA, GitHub they will prompted to login or join a team

 

 

      2.   Confirmation

 

Interested? Have your account admins enable the setting, send your team links to your projects and get everyone onboard. 

This is our first solution to solving this problem. We're evaluating how we can extend this to direct signups (that match a whitelist) and sharable links while maintaining the highest privacy and security standards.  

PS - It doesn't cost you more to add additional team members. So if you have 1 trillion members on your team, it's all good. :)

 



Connect Rollbar to Bitbucket Issue Tracker

Posted by Mike Smith on March 17, 2015

 

New integration now available - Bitbucket Issue Tracker

Supercharge your issue and error tracking workflow when you connect your Rollbar and Bitbucket accounts. New Items in Rollbar will instantly create Issues in your Bitbucket repo, or you can create and link Issues with the click of a button within Rollbar.

Here's how:

Go to your project's Settings, then Notifications, and select Bitbucket Issues from the list of channels. Click 'Connect with Bitbucket” to grant Rollbar access to your account.

 

 

From here, you can choose which repository, and add/edit/remove rules for Issues to be created automatically.

Like magic, your Rollbar error items and details now show up in your Bitbucket repo. Success! 

 

 

Create Bitbucket Issues manually

Prefer to create Issues by hand? You can create an Issue directly from the error Item page in Rollbar, or link with an Issue that already exists. You can use this alongside the automatic rules; or, remove the rules for full manual control.

 

 

What's next?

We're working toward full support for Bitbucket, like we have for GitHub - Issues, Source Control and Authentication. I know Rollbar users who rely on Bitbucket in their workflows are rejoicing. :) 

Let us know if you have any feedback or questions. We're here to help.

Deploy and enjoy!


Daily, Hourly, New Errors and Trend graphs are now clickable

Posted by Mike Smith on March 10, 2015 · product

Yes, that's correct.

Daily, Hourly, New Errors, and Trend graphs are now clickable. You can find and fix bugs even faster, and in less clicks. :D

Common usability feedback we get from our users:

 

Sure would be nice if I could click the dashboard bar graphs and sparklines to quickly see what caused a spike in error events etc.

 

Couldn't agree more. We love aggregating data and we love it clickable. So we enabled it!

The following are now clickable in the project Dashboard:

Trends are also clickable on the Items page. For reference Trends are these guys error tracking trendsalso called 'sparklines'.

  

error tracking

  

When viewing a specific error item, the Last 60 Minutes, Hours, and Days are now clickable and aggregate error data by your selection.

 

 

We're excited to get this features out the door. It reduces a lot of friction in navigating Rollbar. One of many UI and UX improvements to come. :)

Login today and go click through your data now. 

Don't have a Rollbar account? No worries, you can give our Live Demo a try and 'click all the things'. ;)

Deploy and enjoy!

 


Using Logstash and Rollbar Together

Posted by Ken Sheppardson on March 2, 2015

The infrastructure behind most modern web applications includes an assortment of tools for collecting server and application metrics, logging events, aggregating logs, and providing alerts. Most systems are made up of a collection of best-in-class tools and services, selected and deployed over time as team members arrive and depart, needs change, the system grows, and new tools are introduced. One of the challenges web development and operations teams face is collecting and analyzing data from these disparate sources and systems and then piecing together what’s happening by looking at multiple reports and dashboards.

Two common pieces in this puzzle are Logstash and Rollbar.

Logstash (and the Kibana web interface, both of which are heavily supported by and integrated with Elasticsearch) lets you collect and parse logs, store them in a central location, search and explore the data via the Kibana UI, and output events to other services. Logstash provides a powerful tool for taking logs in many different formats, converting them into JSON events, then routing and storing those events.

 

kibana-screenshot

 

Rollbar collects errors from your application, notifies you of those errors, and analyzes them so you can more efficiently debug and fix them. With a few lines of code or config changes to your application, you can make errors, complete stack traces, trends and affected user reports accessible via your Roller dashboard. Like Logstash, Rollbar collects and analyzes events represented in JSON.

 

rollbar-screenshot

 

 

By connecting Logstash and Rollbar, you can not only centralize and analyze your system and application logs, but also improve error tracking and simplify debugging by providing context to developers looking at errors generated by their code.

Most Logstash users have tried to configure Logstash to parse multi-line exception messages, or have tried to convince a development team to adopt standards for application debugging and error message. For code your team controls, it’s likely much simpler to install the Rollbar notifier for the language and framework you’re using. You can send errors from your RubyPython, or PHP application or browser JavaScript to Rollbar and the service will parse stack traces automatically and update your dashboard in real time. You can see the values of local variables when the error occurred, and these errors are associated with other errors of the same type.

For Rollbar users, Logstash allows you to collect errors from external applications and ship them to Rollbar, where they'll appear on the same dashboard as your application errors. Database and web server errors, for example, can be passed along to Rollbar to help developers determine whether the error is due to a bug, database performance issue, or operational issue with the web server.

To get started...


Increasing max-open files for beanstalkd

Posted by Cory Virok on February 28, 2015 · engineering, infrastructure

Quick tip: If you are running out of file descriptors in your Beanstalkd process, use /etc/default/beanstalkd to set the ulimit before the init script starts the process.

e.g.

 

# file: /etc/default/beanstalkd
BEANSTALKD_LISTEN_ADDR=127.0.0.1
BEANSTALKD_LISTEN_PORT=11300
START=yes
BEANSTALKD_EXTRA="-b /var/lib/beanstalkd -f 1"

# Should match your /etc/security/limits.conf settings
ulimit -n 100000

 

Lot's of resources online tell you to update your /etc/security/limits.conf and /etc/pam.d/common-session* settings to increase your maximum number of available file descriptors. However, the default beanstalkd installation on Ubuntu 12.04+ uses an init script that starts the daemon process using start-stop-daemon which does not use your system settings when setting the processes ulimits. Just add this line to your defaults and you're good to go!

 


Get notifications every time an error occurs

Posted by Mike Smith on February 26, 2015

You can now setup notifications every time an error occurs. Previously specific error Notifications were only avaiable for New Items and 10^th Occurrences. Notification Rules are available for all Channels (Email, Slack, HipChat, Trello, PagerDuty).

 

Setup notifications every time an error occurs

 

 


Assign errors to your team

Posted by Mike Smith on February 26, 2015

Ever wanted to assign error items to other team members in Rollbar? Of course you have. Now you can. It is a pretty straight forward enhancement, but here is an overview. 

On the error ‘items’ details page, there's an “Assigned to" dropdown with the members of your team. Once assigned, we’ll shoot an email to that team member letting them know you assigned that specific item to them, including link and details. They'll be automatically added as a 'watcher' for that specific item and will receive notifications about any comments and updates. 

 

 

Assignment events will be listed in the item history section, so you can see who assigned it to whom, when.

 

 

To quickly find items assigned to yourself or others on your team, search 'assigned:me', ‘assigned:username’, or 'assigned:unassigned' on the Items page.

 

 

We're excited to get this out into the wild. Especially for some of the larger teams using Rollbar. Let us know what you think and how we can make it better for you and your team.

 


Debugging Node.js Apps in Production with PyCharm

Posted by Cory Virok on December 19, 2014 · articles, javascript, nodejs

Node.js has a built-in debugger that you can start in running processes. To do this, send a SIGUSR1 signal to the running process and connect a debugger. The one, big caveat here is that the debugger only listens on the local interface, 127.0.0.1.

The following are instructions for debugging Node.js applications running in your company's private network from your laptop, through a bastion host.

  • SSH into the production host that is running the Node.js app
    • Put your production app into debug mode.
    • prod-host $> kill -s SIGUSR1 <pid> 
      
    • As root, start an SSH tunnel to connect your private network with localhost.
    • prod-host $> ssh -N -q -L <private-ip>:8585:localhost:5858 <private-ip>
      
  • On your laptop
    • Start an SSH tunnel to the production host, through your bastion host.
    • laptop $> ssh -N -q -L 5858:<private-ip>:8585 <username>@<bastion-host>
      
  • Open PyCharm and create a remote debugging configuration.
    • Run → Edit Configurations
    • Click the + button on the top-left of the window and select “Node.js Remote Debug”
    • Set the host to 127.0.0.1 using port 5858, name it and save.

  • Run the new Debug configuration.
    • Run → Debug...
    • Select the new configuration.

At this point your laptop will have connected to your local SSH tunnel which will be connected to your production host's private network interface which will be tunneled to your production host's local network interface and your Node.js process.

PyCharm → local SSH tunnel → bastion host → production host private network → production host localhost → Node.js

Set some breakpoints in PyCharm and watch as your production process begins waits for you to step through your app.

Note: If you'd rather use the command line instead of PyCharm just run the node debugger from your laptop:

laptop $> node debug localhost:5858

Happy debugging!

Troubleshooting

Sometimes PyCharm will just not connect to the running process on your production machine. Try restarting each of the SSH tunnels.

  1. Restart the SSH tunnel on the production machine.
  2. Restart the SSH tunnel on your laptop.
  3. Restart the PyCharm debugger.

RQL String Functions

Posted by Brian Rue on December 16, 2014 · changelog

RQL now includes a basic library of string functions. You can use these to slice and group your data in arbitrary ways. For example, "email domains with the most events in the past hour":

SELECT substring(person.email, locate('@', person.email)), count(*)
FROM item_occurrence
WHERE timestamp >= unix_timestamp() - 3600 AND person.email IS NOT NULL
GROUP BY 1
ORDER BY 2 DESC

The new functions: concat, concat_ws, lower, upper, left, right, substring, locate, length, char_length. The functions are implemented to be compatible with MySQL; see the RQL docs for details.