While Functions provides reasonable basic logging facilities you often want more detail without editing your code to add diagnostic logging lines. This is often critical during development or debugging when local execution of your function is not exhibiting the problem that occurs in the live Function. In addition, DevOps and business Management Information often require excellent run time telemetry of your deployed Functions, along with flexible display and analysis capabilties.
As Christos Matskas recently posted, there are at 3 main facilities for Monitoring applications and infrastructure on Microsoft Azure. Out of these, Application Insights is obviously useful with Functions, especially given that a key advantage of using them comes from letting Microsoft look after the infrastructure. Application Insights is a powerful monitoring and visualisation tool that easily provides you with all the graphs and charts you could ever want!
The Functions team have been working hard to provide first class integration with Application Insights. Until recently you had to add the Application Insights SDKs in your Functions code and you also missed out on some of the automatic monitoring capabilities available to App Services (at least in nodejs functions). But no longer as Chris Anderson explains how easy it to get started Azure Functions now has direct integration with Application Insights.